Moved to ./3rdparty
authorwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 17 Aug 2012 20:03:59 +0000 (20:03 +0000)
committerwittend99 <wittend99@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 17 Aug 2012 20:03:59 +0000 (20:03 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@614 01035d8c-6547-0410-b346-abe4f91aad63

50 files changed:
fdmdv2/libsndfile/ChangeLog [deleted file]
fdmdv2/libsndfile/NEWS [deleted file]
fdmdv2/libsndfile/Projects/w32-cygwin/Makefile [deleted file]
fdmdv2/libsndfile/Projects/w32-cygwin/libsndfile-1.dll [deleted file]
fdmdv2/libsndfile/Projects/w32-cygwin/sndfile.h [deleted file]
fdmdv2/libsndfile/Projects/w32-cygwin/test.c [deleted file]
fdmdv2/libsndfile/Projects/w32-cygwin/test.exe [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/Debug/.d [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/Makefile [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/Release/.d [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/libsndfile-1.dll [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/main.cpp [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/sndfile.h [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/test.c [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/test.exe [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.mk [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.project [deleted file]
fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.txt [deleted file]
fdmdv2/libsndfile/Projects/w32-vc7/test.cc [deleted file]
fdmdv2/libsndfile/Projects/w32-vc7/test.sln [deleted file]
fdmdv2/libsndfile/Projects/w32-vc7/test.vcproj [deleted file]
fdmdv2/libsndfile/Projects/w32-vc9/test.cc [deleted file]
fdmdv2/libsndfile/Projects/w32-vc9/test.sln [deleted file]
fdmdv2/libsndfile/Projects/w32-vc9/test.vcproj [deleted file]
fdmdv2/libsndfile/bin/libsndfile-1.dll [deleted file]
fdmdv2/libsndfile/bin/sndfile-about.ex- [deleted file]
fdmdv2/libsndfile/bin/sndfile-cmp.exe [deleted file]
fdmdv2/libsndfile/bin/sndfile-convert.exe [deleted file]
fdmdv2/libsndfile/bin/sndfile-info.exe [deleted file]
fdmdv2/libsndfile/bin/sndfile-metadata-get.exe [deleted file]
fdmdv2/libsndfile/bin/sndfile-metadata-set.exe [deleted file]
fdmdv2/libsndfile/bin/sndfile-play.exe [deleted file]
fdmdv2/libsndfile/doc/FAQ.html [deleted file]
fdmdv2/libsndfile/doc/api.html [deleted file]
fdmdv2/libsndfile/doc/bugs.html [deleted file]
fdmdv2/libsndfile/doc/command.html [deleted file]
fdmdv2/libsndfile/doc/dither.html [deleted file]
fdmdv2/libsndfile/doc/embedded_files.html [deleted file]
fdmdv2/libsndfile/doc/index.html [deleted file]
fdmdv2/libsndfile/doc/libsndfile.css [deleted file]
fdmdv2/libsndfile/doc/libsndfile.jpg [deleted file]
fdmdv2/libsndfile/doc/lists.html [deleted file]
fdmdv2/libsndfile/doc/sndfile_info.html [deleted file]
fdmdv2/libsndfile/include/sndfile.h [deleted file]
fdmdv2/libsndfile/include/sndfile.hh [deleted file]
fdmdv2/libsndfile/lib/libsndfile-1.def [deleted file]
fdmdv2/libsndfile/lib/libsndfile-1.lib [deleted file]
fdmdv2/libsndfile/lib/pkgconfig/sndfile.pc [deleted file]
fdmdv2/libsndfile/unins000.dat [deleted file]
fdmdv2/libsndfile/unins000.exe [deleted file]

diff --git a/fdmdv2/libsndfile/ChangeLog b/fdmdv2/libsndfile/ChangeLog
deleted file mode 100644 (file)
index 53353df..0000000
+++ /dev/null
@@ -1,9051 +0,0 @@
-2011-07-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg_vorbis.c
-    Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
-
-    * doc/command.html
-    Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
-    SFC_GET_INSTRUMENT.
-
-    * NEWS README configure.ac doc/*.html
-    Updates for 1.0.25.
-
-2011-07-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfconfig.h
-    Add handling for HAVE_SYS_WAIT_H.
-
-    * Makefile.am src/Makefile.am tests/Makefile.am
-    Add 'checkprograms' target.
-
-2011-07-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/sndfile.c
-    Purge SF_ASSERT macro. Use standard C assert instead.
-
-    * src/paf.c src/common.h src/sndfile.c
-    Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
-    byte value of 0) due to integer overflow if PAF file handler.
-
-    * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
-    Use calloc instead of malloc followed by memset.
-
-    * tests/utils.tpl
-    Clean up use of memset.
-
-2011-07-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    Fix log message.
-
-    * tests/format_check_test.c
-    Fix compiler warnings.
-
-2011-07-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
-
-    * tests/format_check_test.c
-    Add a test to for SF_FINFO format field validation.
-
-    * src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
-        src/common.h src/Makefile.am
-    Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
-    and Speex codecs in an Ogg container. The later two are only enabled with
-    ENABLE_EXPERIMENTAL_CODE config variable.
-
-2011-06-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/strings.c
-    Clean up and refactor storage of SF_STR_SOFTWARE.
-
-2011-06-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in doc/api.html
-    Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
-    Tim van der Molen for the patch.
-
-2011-06-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-interleave.c
-    Fix handling of argc. Thanks to Marius Hennecke.
-
-    * src/wav_w64.c
-    Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
-    providing example files.
-
-    * src/wav.c
-    Jump over 'FLLR' chunks.
-
-2011-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
-
-    * configure.ac
-    Add -Wundef to CFLAGS.
-
-    * src/ogg.c
-    Fix -Wunder warning.
-
-2011-05-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Use int64_t instead of off_t when they are the same size.
-
-    * src/Makefile.am tests/Makefile.am
-    Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
-
-2011-05-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Don't allow unknown and/or un-editable chunks to prevent the file from being
-    opened in SFM_RDWR mode.
-
-2011-04-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/format_check_test.c
-    Fix segfault in test program.
-
-2011-04-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/format_check_test.c
-    New test program to check to make sure that sf_open() and sf_check_format()
-    agree as to what is a valid program.
-
-    * tests/Makefile.am tests/test_wrapper.sh.in
-    Hook into build and test runner.
-
-    * src/sndfile.c
-    Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
-    notification.
-
-2011-04-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/caf.c
-    Add validation to size of 'data' chunk and fix size of written 'data'
-    chunk. Thanks to Michael Pruett for reporting this.
-
-2011-03-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/* tests/* programs/*
-    Fix a bunch of compiler warnings with gcc-4.6.
-
-2011-03-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/util.tpl
-    Add NOT macro to util.h.
-
-    * src/strings.c
-    Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
-    strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
-    this problem.
-
-    * tests/string_test.c
-    Add test for SF_STR_SOFTWARE segfault bug.
-
-    * configure.ac
-    Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
-    '-I${includedir}/FLAC'. However FLAC also provides an include file
-    <assert.h> which clashes with the Standard C header of the same name. The
-    solution is strip the 'FLAC' part off the end and include all FLAC headers
-    as <FLAC/header.h>.
-
-    * configure.ac src/Makefile.am
-    Use non-recursive make in src/ directory.
-
-2011-03-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * NEWS README docs/*.html
-    Updates for 1.0.24 release.
-
-2011-03-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fix up usage of sed (should not assume GNU sed).
-
-    * M4/add_(c|cxx)flags.m4
-    Test flags in isolation.
-
-    * tests/cpp_test.cc
-    Fix a broken test (test segfaults). Report by Dave Flogeras.
-
-2011-03-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/common.[ch]
-    Add function program_name() which returns the program name minus the path
-    from argv [0].
-
-    * programs/*.c programs/Makefile.am
-    Use program_name() where appropriate. Fix build.
-
-2011-03-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
-    byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
-    version accept 18 byte but not 16 byte.
-
-2011-03-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Add examples for question 12.
-
-    * doc/libsndfile.css.in
-    Add tweaks for h4 element.
-
-    * doc/api.html
-    Add documentation for virtual I/O functionality. Thanks to Uli Franke.
-
-    * tests/util.tpl
-    Add static inline functions sf_info_clear() and sf_info_setup().
-
-    * tests/(alaw|dwvw|ulaw)_test.c
-    Use functions sf_info_clear() and sf_info_setup().
-
-2011-03-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fail more gracefully if pkg-config is missing. Suggestion from Brian
-    Willoughby.
-
-2011-02-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Use size_t instead of int for size params with varargs.
-
-2011-02-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Update supported platforms with more Debian platforms and Android.
-
-2011-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
-    class definition. Thanks to Eric Eizenman for pointing out this was missing.
-
-    * tests/cpp_test.cc
-    Add test for LPCWSTR version of the SndfileHandle constructor.
-
-2011-01-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-play.c
-    Remove cruft.
-
-2010-12-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
-    the patch.
-
-    * tests/cpp_test.cc
-    Add tests for above two methods. Also supplied by Tim Blechmann.
-
-2010-11-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Add mention of use of sf_strerror() when sf_open() fails.
-
-2010-11-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
-    people are compiling on a 64 bit system with the GCC -m32 flag.
-
-    * src/sndfile.h.in
-    Fix comments on sf_count_t.
-
-2010-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
-
-2010-10-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Sed fix for FreeBSD. Thanks Tony Theodore.
-
-2010-10-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * shave.in M4/shave.m4
-    Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
-    shave author).
-
-    * configure.ac M4/shave.m4 shave-libtool.in shave.in
-    Switch from shave to automake-1.11's AM_SILENT_RULES.
-
-2010-10-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * shave-libtool.in shave.in
-    Sync to upstream version.
-
-    * src/rf64.c
-    More work to make the parser more robust and accepting of mal-formed files.
-
-2010-10-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add functions psf_strlcpy() and psf_strlcat().
-
-    * src/broadcast.c src/sndfile.c src/strings.c src/test_main.c
-        src/test_main.h src/test_strncpy_crlf.c
-    Use functions psf_strlcpy() and psf_strlcat() as appropriate.
-
-    * tests/string_test.c
-    Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
-
-    * src/rf64.c
-    Fix size of 'ds64' chunk when writing RF64.
-
-2010-10-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/*.c
-    Add the libsndfile version to the usage message of all programs.
-
-2010-10-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/version-metadata.rc.in src/Makefile.am
-    Add version string resources to the windows DLL.
-
-    * doc/api.html
-    Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
-
-    * NEWS README configure.ac doc/*.html
-    Updates for 1.0.23 release.
-
-2010-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pedantic-header-test.sh.in
-    Handle unusual values of CC environment variable.
-
-    * src/rf64.c
-    Minor tweaks and additional sanity checking.
-
-    * src/Makefile.am src/binheader_writef_check.py
-    Use python 2.6.
-
-2010-10-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add a missing 'inline' before a constructor defintion.
-
-2010-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add macro NOT.
-
-    * src/rf64.c
-    Minor tweaks.
-
-    * Makefile.am */Makefile.am
-    Add *~ to CLEANFILES.
-
-2010-10-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
-    Van Winkle for the report.
-
-2010-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c src/ogg.c src/sndfile.h.in src/strings.c src/wav.c
-    Add ability to read/write tracknumber and genre to flac/ogg/wav files.
-    Thanks to Matti Nykyri for the patch.
-
-    * src/common.h src/broadcast.c src/strings.c
-    Add function psf_safe_strncpy() and use where appropriate.
-
-2010-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * NEWS README configure.ac doc/*.html
-    Updates for 1.0.22 release.
-
-2010-10-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
-    Rewrite of SF_BROADCAST_INFO handling.
-
-    * src/test_broadcast_var.c tests/command_test.c
-    Tweak SF_BROADCAST_INFO tests.
-
-    * src/test_broadcast_var.c
-    Fix OSX stack check error.
-
-2010-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sds.c
-    Set sustain_loop_end to 0 as suggested by Brian Lewis.
-
-2010-09-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sds.c
-    Make sure the correct frame count gets written into the header.
-
-    * tests/write_read_test.tpl
-    Don't allow SDS files to have a long frame count.
-
-2010-09-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sds.c
-    Apply a pair of patches from Brian Lewis to fix the packet number location
-    and the checksum.
-
-2010-09-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    *  src/aiff.c src/file_io.c src/ogg.c src/rf64.c src/sndfile.c
-        src/strings.c src/test_audio_detect.c src/test_strncpy_crlf.c
-        src/wav.c tests/pcm_test.tpl
-   Fix a bunch of minor issues found using static analysis.
-
-2010-08-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_broadcast_var.c
-    New file containing tests for broadcast_set_var().
-
-    * src/Makefile.am src/test_main.[ch]
-    Hook test_broadcast_var.c into tests.
-
-2010-08-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c src/common.(c|h)
-    Move function strncpy_crlf() to src/common.c so the function can be tested
-    in isolation.
-
-    * src/test_strncpy_crlf.c
-    New file.
-
-    * src/Makefile.am src/test_main.[ch]
-    Hook test_strncpy_crlf.c into tests.
-
-2010-08-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Move code around to make comments make sense.
-
-    * src/broadcast.c
-    Add debugging code that is disabled by default.
-
-2010-08-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    When the file meta data says the file has zero frames set psf->sf.frames
-    to SF_COUNT_MAX. Fixes Debian bug #590752.
-
-    * programs/sndfile-info.c
-    Print 'unknown' if frame count == SF_COUNT_MAX.
-
-2010-06-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Only support writing mono SVX files. Multichannel SVX files are not
-    interleaved and there is no support infrastructure to cache and write
-       multiple channels to create a non-interleaved file.
-
-    * src/file_io.c
-    Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
-    for the bug report.
-
-2010-06-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add macro SF_ASSERT.
-
-    * src/sndfile.c
-    Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
-
-    * src/svx.c
-    Add support for reading and writing stereo SVX files.
-
-2010-05-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
-
-    * programs/common.c programs/sndfile-metadata-set.c
-    Update metadata after the audio data is copied. Other minor fixes. Patch
-    from Marius Hennecke.
-
-2010-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Fix a regression reported by Hugh Secker-Walker.
-
-    * src/api.html
-    Add comment about sf_open_fd() not working on Windows if the application
-    and the libsndfile DLL are linked to different versions of the Microsoft
-    C runtime DLL.
-
-2010-04-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pedantic-header-test.sh.in
-    Fix 'make distcheck'.
-
-2010-04-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pedantic-header-test.sh.in
-    New file to test whether sndfile.h can be compiled with gcc's -pedantic
-    flag.
-
-    * configure.ac tests/test_wrapper.sh.in
-    Hook pedantic-header-test into test suite.
-
-    * src/sndfile.h.in
-    Fix -pedantic warning.
-
-2010-04-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-salvage.c programs/Makefile.am
-    New program to salvage the audio data from WAV/WAVEX/AIFF files which are
-    greater than 4Gig in size.
-
-2010-04-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-convert.c
-    Fix valgrind warning.
-
-2010-04-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-cmp.c
-    When files differ in the PCM data, also print the difference offset.
-    Minor cleanup.
-
-2010-03-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Don't use the 'twos' marker for 24 and 32 bit PCM, use 'in24' and 'in32'
-    instead. Thanks to Paul Davis (Ardour) for this suggestion.
-
-2010-02-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Clean up configure report.
-
-    * tests/utils.tpl
-    Add functions test_read_raw_or_die and test_write_raw_or_die.
-
-    * tests/rdwr_test.(def|tpl) tests/Makefile.am
-    Add new test program and hook into build.
-
-    * src/sndfile.c
-    Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
-
-    * tests/test_wrapper.sh.in
-    Add rdwr_test to the test wrapper script.
-
-2010-02-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
-
-    * programs/common.[ch] programs/sndfile-metadata-set.c
-    Apply a patch from Robin Gareus allowing the setting of the time reference
-    field of the BEXT chunk.
-
-2010-02-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ima_adpcm.c
-    Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
-    IMA4.
-
-2010-01-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add a constructor which takes an existing file descriptor and then calls
-    sf_open_fd(). Patch from Sakari Bergen.
-
-2010-01-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
-    Improve usage messages.
-
-2010-01-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/id3.c src/Makefile.am
-    Add new file src/id3.c and hook into build.
-
-    * src/sndfile.c src/common.h
-    Detect and skip and ID3 header at the start of the file.
-
-2010-01-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/common.c
-    Fix update_strings() copyright, comment, album and license are correctly
-    written. Thanks to Todd Allen for reporting this.
-
-    * man/Makefile.am
-    Change GNU makeism to something more widely supported. Thanks to Christian
-    Weisgerber for reporting this.
-
-    * configure.ac programs/Makefile.am programs/sndfile-play.c
-    Apply patch from Christian Weisgerber and Jacob Meuserto add support for
-    OpenBSD's sndio.
-
-2010-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Discourage the use of sf_read/write_raw().
-
-2009-12-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Test for Unix pipe() and waitpid() functions.
-
-    * src/sfconfig.h tests/pipe_test.tpl
-    Disable pipe_test if pipe() and waitpid() aren't available.
-
-2009-12-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/Makefile.am src/create_symbols_file.py
-        src/make-static-lib-hidden-privates.sh
-    Change name of generated file src/Symbols.linux to Symbols.gnu-binutils and
-    and use the same symbols file for other systems which use GNU binutils like
-    Debian's kfreebsd.
-
-    * M4/shave.m4 shave.in
-    Update shave files from upstream.
-
-2009-12-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * man/sndfile-metadata-get.1
-    Fix typo.
-
-    * man/sndfile-interleave.1 man/Makefile.am
-    New man page.
-
-2009-12-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
-    its too hot. Thanks to Dmitry Baikov for suggesting this.
-
-    * NEWS README doc/*.html
-    Updates for 1.0.21.
-
-2009-12-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-jackplay.c man/sndfile-jackplay.1
-    Remove these which will now be in found in the sndfile-tools package.
-
-    * programs/Makefile.am man/Makefile.am
-    Remove build rules for sndfile-jackplay.
-
-    * configure.ac
-    Remove detection of JACK Audio Connect Kit.
-
-    * programs/sndfile-concat.c man/sndfile-concat.1
-    Add new program with man page.
-
-    * man/Makefile.am programs/Makefile.am
-    Hook sndfile-concat into build system.
-
-2009-12-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/error_test.c
-    Don't terminate when sf_close() returns zero in error_close_test().
-    It seems that Windows 7 behaves differently from earlier versions of
-    Windows.
-
-2009-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac M4/*.m4
-    Rename all custom macros from AC_* to MN_*.
-
-    * programs/sndfile-interleave.c
-    Make it actually work.
-
-2009-12-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/*.html configure.ac
-    Corrections and clarifications courtesy of Robin Forder.
-
-    * programs/sndfile-convert.c programs/common.[ch]
-    Move some code from convert to common for reuse.
-
-    * programs/sndfile-interleave.c programs/sndfile-interleave.c
-    Add new programs sndfile-interleave and sndfile-deinterleave.
-
-    * programs/Makefile.am
-    Hook new programs into build.
-
-2009-12-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
-    Minor OS/2 tweaks as suggested by David Yeo.
-
-    * tests/multi_file_test.c
-    Fix file creation flags on windows. Thanks to Bruce Sharpe.
-
-    * src/sf_unistd.h
-    Set all group and other file create permssions to zero.
-
-    * tests/win32_test.c
-    Add a new test.
-
-2009-11-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/print.css doc/*.html
-    Add a print stylesheet and update all HTML documents to reference it.
-    Thanks to Aditya Bhargava for suggesting this.
-
-    * doc/index.html
-    Minor corrections.
-
-2009-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * sndfile.pc.in
-    Add a Libs.private entry to assist with static linking.
-
-2009-11-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/make-static-lib-hidden-privates.sh src/Makefile.am
-    Add a script to hide all non-public symbols in the libsndfile.a static
-    library.
-
-2009-11-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/locale_test.c
-    Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
-
-2009-11-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/windows.c
-    Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
-
-2009-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-convert.c
-    Allow the program to read from stdin by specifying '-' on the command line
-    as the input file.
-
-    * src/sndfile.h.in
-    Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
-
-    * tests/virtual_io_test.c
-    Add a PAF/PCM_24 test and verify the file length is not negative
-    immediately after openning the file for write.
-
-2009-10-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    When writing loop lengths, adjust the end position by one to make up for
-    Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
-
-2009-10-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
-    rate.
-
-2009-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
-
-    * configure.ac
-    Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
-    libsndfile test suite to fail on MIPS, PowerPC and others.
-    See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
-
-2009-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * man/sndfile-convert.1
-    Fix warning from Debian's lintian checks.
-
-    * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
-        man/Makefile.am
-    Add three new minimal manpages and hook into build.
-
-2009-10-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/test_wrapper.sh.in
-    Don't run cpp_test on x86_64-w64-mingw32.
-
-2009-09-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl
-    On windows, make sure the open() function doesn't get called with a third
-    parameter of 0 which fails for no good reason. Also make sure this third
-    parameter doesn't get called with S_IRGRP when compiling for windows because
-    Wine complains.
-
-    * src/sndfile.hh
-    Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
-    string.
-
-    * doc/FAQ.html
-    Add Q/A : I'm cross compiling libsndfile for another platform. How can I
-    run the test suite?
-
-    * src/create_symbols_file.py src/Makefile.am
-    Add Symbols.static target, a list of symbols, one per line.
-
-2009-09-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/test_wrapper.sh.in
-    Update to allow all tests to be gathered up into a testsuite tarball and
-    then be run using this script.
-
-    * build-test-tarball.mk.in
-    Add a Make script to build a tarball of all the test binaries and the test
-    wrapper script. This is useful for cross compiling; you can build the
-    binaries, build test test tarball and transfer the test tarball to the
-    target machine for testing.
-
-2009-09-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/*.c
-    Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
-    for the file path, directory and name. Fixes for this change throughout.
-
-    * src/windows.c src/Makefile.am
-    New file defining new windows only public function sf_wchar_open() which
-    takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
-
-    * src/sndfile.h.in
-    Add SF_CHANNEL_MAP_ABISONIC_* entries.
-    Add windows only defintion for sf_wchar_open().
-
-    * src/create_symbols_file.py
-    Add sf_wchar_open() to the list of public symbols (windows only).
-
-    * tests/locale_test.c
-    Add a wchar_test() to test sf_wchar_open().
-
-2009-09-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/*.c
-    Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
-
-2009-09-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/voc.c
-    When a byte is needed, use unsigned char.
-
-    * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
-    Include sfconfig.h to prevent compile errors with MinGW compilers.
-
-    * configure.ac
-    Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
-
-    * tests/locale_test.c
-    Update to work with xx_XX.UTF-8 style locales. Refactoring.
-
-2009-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
-    Remove unneeded AC_SUBST.
-    Report Host CPU/OS/vendor.
-
-2009-09-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix error message string.
-
-    * src/flac.c
-    Add 88200 to the list of supported sample rates.
-
-    * src/ogg.c
-    Fix compiler warning when using gcc-4.5.0.
-
-    * programs/sndfile-info.c tests/utils.tpl
-    Remove WIN32 snprintf #define.
-
-    * src/ima_adpcm.c
-    Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
-    this.
-
-2009-09-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/caf.c
-    Use the correct C99 format specifier for int64_t.
-
-    * M4/endian.m4
-    Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
-    Ossman for the bug report.
-
-    * src/caf.c src/sndfile.c
-    Fix reading and writing of PEAK chunks in CAF files.
-
-    * tests/peak_chunk_test.c tests/test_wrapper.sh.in
-    Run peak_chunk_test on CAF files.
-
-2009-09-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/wav.c
-    Use the correct C99 format specifier for int64_t.
-
-2009-08-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
-    Apply a patch (massaged slightly) from Uli Franke adding handling of the
-    BEXT chunk in RF64 files.
-
-    * tests/command_test.c
-    Update channel_map_test() function so WAV test passes.
-
-    * src/rf64.c
-    Add channel mapping and ambisonic support.
-
-    * src/sndfile.h
-    Add comments showing correspondance between libsndfile channel map
-    defintiions and those used by Apple and MS.
-
-    Add handling of reading/writing channel map info.
-
-    * tests/command_test.c tests/test_wrapper.sh.in
-    Update channel map tests.
-
-2009-07-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add function psf_isprint() a replacement for the standard C isprint()
-    function which ignores any locale settings and treats all input as ASCII.
-
-    * src/(aiff|common|rf64|sd2|strings|svx|wav).c
-    Use psf_isprint() instead of isprint().
-
-2009-07-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c
-    Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
-
-2009-06-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-play.c
-    Allow use of Open Sound System audio output under FreeBSD.
-
-2009-06-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add patch from Conrad Parker to add --disable-jack.
-
-2009-05-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
-    Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
-    Thanks to Sami Liedes for reporting this a Debian bug #530831.
-
-2009-05-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/chanmap.[ch]
-    New files for channel map decoding/encoding.
-
-2009-05-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/sndfile.h.in
-    Fix MSVC definition of sf_count_t.
-
-2009-05-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_w64.[ch]
-    Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
-    an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
-
-    * src/wav.c
-    Add ability to write the channel mask.
-
-2009-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-info.c
-    Add -c command line option to dump the channel map information.
-
-    * src/wav_w64.c
-    Don't bail from parser if channel map bitmask is faulty.
-
-    * src/common.h src/sndfile.c
-    Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
-
-    * src/sndfile.c
-    On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
-    command handler.
-
-2009-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
-    Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
-    channel data in WAV and W64 files.
-    Add a test for the above.
-
-2009-05-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FAQ.html
-    Update the section about pre-compiled binaries for Win64.
-
-2009-05-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/test_conversions.c
-    Be more careful when including <stdint.h> so compiling on pre-C99 platforms
-    (hello Slowlaris) might actually work.
-
-    * NEWS README doc/*.html
-    Updates for 1.0.20.
-
-2009-04-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Fix a bug whereby opening a specially crafted VOC file could result in a
-    heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
-    this issue.
-
-    * src/aiff.c
-    Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
-
-2009-04-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/stdin_test.c
-    Check psf->error after opening file.
-
-    * src/file_io.c
-    Fix obscure seeking bug reported by Hugh Secker-Walker.
-
-    * tests/utils.tpl
-    Add check of sf_error to test_open_file_or_die().
-
-    * src/sndfile.c
-    Clear error if opening resource fork fails.
-
-2009-04-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
-    Cleanup output.
-
-2009-03-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c
-    Fix f2s_clip_array.
-
-2009-03-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c
-    In host_read_f2s call convert instead of f2s_array.
-
-    * src/ima_adpcm.c
-    Remove dead code.
-
-    * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
-        tests/dwvw_test.c tests/fix_this.c tests/generate.c
-        tests/multi_file_test.c
-    Minor fixes.
-
-2009-03-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * M4/shave.m4 shave.in
-    Pulled update from upstream.
-
-2009-03-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Add pointers to example programs in source code tarball.
-
-2009-03-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
-
-    * configure.ac
-    Add documentation for --disable-external-libs and improve error handling
-    for that option.
-
-    * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
-    Add public function sf_version_string.
-
-    * tests/sfversion.c
-    Test function sf_version_string.
-
-    * M4/shave.m4 shave-libtool.in shave.in
-    Add new files from 'git clone git://git.lespiau.name/shave'.
-
-    * configure.ac
-    Enable shave.
-
-    * src/Makefile.am src/binheader_writef_check.py Octave/*
-    Shave related tweaks.
-
-2009-03-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/caf.c src/sndfile.c
-    Add SF_MAX_CHANNELS (set to 256) and use it.
-
-    * src/sndfile.h.in
-    Check for either _MSCVER or _MSC_VER being defined.
-
-2009-03-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/vorbis_test.c
-    Relax test slighly to allow test to pass on more CPUs etc.
-
-2009-03-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Detect vorbis_version_string() correctly.
-
-2009-03-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Add a 'See Also' section with a link to sndfile-tools.
-
-    * NEWS README doc/*.html
-    Updates for 1.0.19 release.
-
-    * configure.ac
-    Fix --enable-external-libs logic.
-
-2009-03-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix resource leak and potential read beyond end of buffer.
-
-    * src/nist.c
-    Fix reading of header value sample_n_bytes.
-
-    * src/sd2.c src/wav.c
-    Fix potential read beyond end of buffer.
-
-    * src/sndfile.c src/svx.c
-    Check return values of file_io functions.
-
-    * tests/win32_test.c
-    Fix resource leak.
-
-    * configure.ac
-    Detect the presence/absence of vorbis_version_string() in libvorbis.
-
-    * src/ogg.c
-    Only call vorbis_version_string() from libvorbis if present.
-
-2009-02-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/win32_test.c
-    Don't use sprintf, even on windows.
-
-    * src/aiff.c src/rf64.c src/wav.c
-    Eliminate dead code, more validation of data read from file.
-
-2009-02-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ima_adpcm.c
-    Clamp values to a valid range before indexing ima_step_size array.
-
-    * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
-    Don't include un-needed headers.
-
-    * programs/sndfile-info.c
-    Remove dead code.
-
-    * tests/test_wrapper.sh.in
-    Add 'set -e' so the script exits on error.
-
-    * src/test_ima_oki_adpcm.c
-    Fix read beyond end of array.
-
-    * tests/win32_test.c
-    Add missing close on file descriptor.
-
-    * src/nist.c programs/sndfile-metadata-set.c
-    Fix 'unused variable' warnings.
-
-    * src/aiff.c
-    Fix potential memory leak in handling of 'MARK' chunk.
-    Remove un-needed test (unsigned > 0).
-
-    * src/sd2.c
-    Improve handling of heap allocated buffer.
-
-    * src/sndfile.c
-    Remove un-needed test (always true).
-
-    * src/wav.c src/rf64.c
-    Ifdef out dead code that will be resurected some time in the future.
-
-    * src/wav.c src/w64.c src/xi.c
-    Handle error return values from psf_ftell.
-
-    * src/wav_w64.c
-    Fix handling and error checking of MSADPCM coefficient arrays.
-
-    * regtest/*.c
-    Bunch of fixes.
-
-    * src/test_file_io.c
-    Use snprintf instead of strncpy in test program.
-
-2009-02-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Validate data before using.
-
-    * src/caf.c
-    Validate channels per frame value before using, fixing a possible integer
-    overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
-    Secunia Research (CVE-2009-0186).
-
-2009-02-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Octave/octave_test.sh
-    Unset TERM environment variable and export LD_LIBRARY_PATH.
-
-2009-02-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    In windows code, cast LPVOID to 'char*' in printf.
-
-2009-02-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * M4/octave.m4
-    Clear the TERM environment before evaluating anything in Octave. This works
-    around problems that might occur if a users TERM settings are incorrect.
-    Thanks to Rob Til Freedmen for helping to debug this.
-
-    * src/wav.c
-    Handle four zero bytes as a marker within a LIST or INFO chunk.
-    Thanks to Rogério Brito for supplying an example file.
-
-2009-02-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/*.c
-    Use C99 snprintf everywhere.
-
-2009-02-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/test_wrapper.sh.in
-    New file to act as the template for the test wrapper script.
-
-    * configure.ac
-    Generate tests/test_wrapper.sh from the template.
-
-    * tests/Makefile.am
-    Replace all tests with a single invocation of the test wrapper script.
-
-2009-02-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    Record vorbis library version string.
-
-    * configure.ac
-    Require libvorbis >= 1.2.2.
-
-    * M4/endian.m4
-    Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
-
-    * M4/octave.m4 M4/mkoctfile_version.m4
-    Clean up AC_WITH_ARG usage using AC_HELP_STRING.
-
-2009-02-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Octave/Makefile.am
-    Use $(top_buildir) instead of $(builddir) which may not be defined.
-
-    * M4/octave.m4
-    Improve logic and status reporting.
-
-2009-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac  AUTHORS NEWS README doc/*.html
-    Final tweaks for 1.0.18 release.
-
-2009-02-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-convert.c
-    Add 'htk' to the list of convert formats.
-
-    * programs/sndfile-info.c
-    Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
-    Increase size of files for which signal max will be calculated.
-
-2009-01-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
-
-2009-01-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-metadata-get.c
-    Make valgrind clean.
-    Clean up temp string array usage.
-    Error out if trying to update coding history in RDWR mode.
-
-2009-01-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Fix links to versions of the LGPL.
-
-2008-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/string_test.c
-    Add test for RDWR mode where the file ends up shorter than when it was
-    opened.
-
-    * src/wav.c
-    Truncate the file on close for RDWR mode where the file ends up shorter
-    than when it was opened.
-
-2008-11-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * M4/add_cflags.m4
-    Fix problem with quoting of '#include'.
-
-    * M4/add_cxxflags.m4 configure.ac
-    Add new file M4/add_cxxflags.m4 and use it in configure.ac.
-
-2008-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-info.c
-    Apply patch from Conrad Parker to calculate and display total duration when
-    more than one file is dumped.
-
-2008-11-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/Makefile.am
-    Tweaks to generation of Symbols files.
-
-    * tests/win32_ordinal_test.c
-    Update tests for above changes.
-
-2008-11-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/common.c
-    When merging broadcast info, make sure to clear the destination field
-    before copying in the new data.
-
-    * programs/test-sndfile-metadata-set.py
-    Add test for the above.
-
-    * src/broadcast.c
-    Fix checking of required coding_history_size.
-
-2008-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    Add test to detect if coding history is truncated.
-
-    * src/broadcast.c
-    Fix truncation of coding history.
-
-2008-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    Add broadcast_coding_history_size test.
-
-    * programs/*.[ch]
-    Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
-
-    * src/rf64.c
-    Add code to prevent infinite loop on malformed file.
-
-    * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
-    Rationalize and improve error handling when parsing 'fmt ' chunk.
-
-    * M4/octave.m4
-    Simplify and remove cruft.
-    Check for correct Octave version.
-
-    * Octave/*
-    Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
-
-    * Octave/sndfile.cc Octave/PKG_ADD
-    Add Octave function sfversion which returns the libsndfile version that the
-    module is linked against.
-
-    * Octave/Makefile.am
-    Bunch of build and 'make distcheck' fixes.
-
-2008-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/common.c
-    Return 1 if SFC_SET_BROADCAST_INFO fails.
-
-    * programs/test-sndfile-metadata-set.py
-    Update for new programs directory, exit on any error.
-
-    * tests/error_test.c
-    Fix failure behaviour in error_number_test.
-
-    * src/common.h src/sndfile.c
-    Add error number SFE_BAD_BROADCAST_INFO_SIZE.
-
-    * src/*
-    Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
-
-    * src/broadcast.c
-    Fix generation of added coding history.
-
-2008-10-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * programs/sndfile-metadata-get.c programs/sndfile-info.c
-    Exit with non-zero on errors.
-
-2008-10-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-to-text.c examples/Makefile.am
-    Add a new example program and hook it into the build.
-
-    * examples/ programs/
-    Add a new directory programs and move sndfile-info, sndfile-play and other
-    real programs to the new directory, leaving example programs where they
-    were.
-
-2008-10-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/Makefile.am
-    Automake 1.10 MinGW cross compiling fixes.
-
-2008-10-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
-    Fix gcc-4.3 compiler warnings.
-
-    * tests/command_test.c
-    Fix a valgrind warning.
-
-    * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
-        tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
-    Fix gcc-4.3 compiler warnings.
-
-2008-10-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c
-    Fix termination of desitination string in strncpy_crlf.
-    When copying BROADCAST_INFO chunk, make sure destination gets correct line
-    endings.
-
-    * examples/common.c
-    Fix copying of BROADCAST_INFO coding_history field.
-
-2008-10-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    Add test function instrument_rw_test, but don't hook it into the testing
-    yet.
-
-    * src/common.h src/command.c src/sndfile.c src/flac.c
-    Error code rationalization.
-
-    * src/common.h src/sndfile.c
-    Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
-    fails due to psf->have_written being true.
-
-    * doc/command.html
-    Document the SFC_GET/SET_BROADCAST_INFO comamnds.
-
-2008-10-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    Improve error reporting when '\0' is found in coding history.
-    Fix false failure.
-
-2008-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c
-    Convert all coding history line endings to \r\n.
-
-    * tests/command_test.c
-    Add test to make sure all line endings are converted to \r\n.
-
-2008-10-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c
-    Changed the order of coding history fields.
-
-    * tests/command_test.c
-    Update bextch test to cope with previous change.
-
-    * examples/common.c
-    Add extra length check when copying broadcast info data.
-
-2008-10-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl tests/pcm_test.tpl
-    Update check_file_hash_or_die to use 64 bit hash.
-
-    * tests/checksum_test.c tests/Makefile.am
-    Add new checksum_test specifically for lossy compression of headerless
-    files.
-
-2008-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/gsm610.c
-    Seek to psf->dataoffset before decoding first block.
-
-    * src/sndfile.c
-    Fix detection of mpc2k files on big endian systems.
-
-2008-10-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c
-    Use '\r\n' newlines in Coding History as required by spec.
-
-2008-10-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_conversions.c
-    Use int64_t instead of 'long long'.
-
-2008-10-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-metadata-set.c
-    Remove --bext-coding-history-append command line option because it didn't
-    really make sense.
-
-    * examples/sndfile-metadata-(get|set).c
-    Add usage messages.
-
-    * examples/test-sndfile-metadata-set.py
-    Start work on test coding history.
-
-2008-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * README doc/win32.html
-    Bring these up to date.
-
-    * src/aiff.c
-    Fix parsing of REX files.
-
-2008-09-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Use intptr_t instead of long for return value of _get_osfhandle.
-
-    * src/test_conversions.c src/test_endswap.tpl
-    Fix printing of int64_t values.
-
-    * examples/sndfile-play.c
-    Fix win64 issues.
-
-    * tests/win32_ordinal_test.c
-    Fix calling of GetProcAddress with ordinal under win64.
-
-    * tests/utils.tpl
-    Fix win64 issues.
-
-2008-09-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/*
-    Rename copy_data.[ch] to common.[ch]. Fix build.
-    Move code from sndfile-metadata-set.c to common.c.
-
-    * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
-    Clean paths.
-
-2008-09-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/tutorial.html doc/Makefile.am
-    Add file doc/tutorial.html and hook into build/dist system.
-
-2008-09-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-metadata-set.c
-    Clean up handling of bext command line params.
-
-2008-09-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Add handling/skipping of a couple of new chunk types.
-
-2008-09-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add -funsigned-char to CFLAGS if the compiler supports it.
-
-    * examples/sndfile-metadata-(get|set).c
-    Add handling for more metadata types.
-
-2008-09-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
-    field of SF_INFO into component parts.
-
-    * src/*.c
-    Use new macros everywhere it is appropriate.
-
-2008-09-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-bwf-set.c
-    Massive reworking.
-
-2008-08-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-bwf-set.c
-    Add --info-auto-create-date command line option.
-
-    * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
-        examples/Makefile.am examples/test-sndfile-bwf-set.py
-    Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
-    Change command line args.
-
-2008-08-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Allow 'PAD ' chunk to be modified in RDWR mode.
-
-    * src/sndfile.h.in src/sndfile.c
-    Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
-
-    * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
-        tests/misc_test.c
-    Add tests for RF64.
-
-    * src/rf64.c
-    Fixes to make sure all tests pass.
-
-    * tests/Makefile.am tests/string_test.c
-    Add string tests (not yet passing).
-
-2008-08-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/rf64.c
-    First pass at writing RF64 now working.
-
-2008-08-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Add SF_FORMAT_RF64 to format_map.
-
-    * src/common.h src/sndfile.c
-    More RF64 support code.
-
-    * examples/sndfile-bwf-set.c
-    Fix the month number in autogenerated date string and use hypen in date
-    instead of slash.
-
-    * examples/test-sndfile-bwf-set.py
-    Update tests.
-
-    * examples/sndfile-info.c
-    When called with -i or -b option, operate on all files on command line, not
-    just the first.
-
-2008-08-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/rf64.c
-    New file to handle RF64 (WAV like format supportting > 4Gig files).
-
-    * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
-    Hook the above into build so hacking can begin.
-
-    * src/pcm.c
-    Improve log message when pcm_init fails.
-
-    * src/sndfile-info.c
-    Only calculate and print 'Signal Max' if file is less than 10 megabytes in
-    length.
-
-2008-08-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/string_test.c
-    Polish string_multi_set_test.
-
-    * src/wav.c
-    In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
-    length has changed).
-    Minor fixes in wav_write_strings.
-    Write PAD chunk with default endian-ness, not a specific endian-ness.
-
-    * examples/test-sndfile-bwf-set.py
-    Add Python script to test sndfile-bwf-set/get.
-
-    * examples/sndfile-bwf-set.c
-    Clean up and fixes.
-
-    * src/wav.c
-    Merge function wavex_write_header into wav_write_header, deleting about 70
-    lines of code.
-
-    * src/common.h
-    Double value of SF_MAX_STRINGS.
-
-    * tests/string_test.c
-    Add string tests for WAVEX and RIFX files.
-
-    * tests/command_test.c
-    Add broadcast test for WAVEX files.
-
-2008-08-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/string_test.c
-    Add a new string_rdwr_test (currently failing for WAV).
-    Add a new string_multi_set_test (currently failing).
-
-    * tests/command_test.c
-    Add new broadcast_rdwr_test (currently failing).
-
-    * src/wav.c
-    Fix to WAV parser to allow 'bext' chunk to be updated in place.
-    In wav_write_tailer, seek to psf->dataend if its greater than zero.
-
-    * src/sndfile.c
-    Make sure psf->have_written gets set correctly in mode SFM_RDWR.
-
-    * configure.ac
-    Test for <sys/time.h> and gettimeofday.
-
-    * src/common.c
-    Use gettimeofday() to initialize psf_rand_int32.
-
-    * src/common.h src/sndfile.c
-    Add unique_id field to SF_PRIVATE struct.
-
-    * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
-    Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
-
-    * src/common.h src/strings.c
-    Add function psf_location_string_count.
-
-2008-08-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Test for localtime and localtime_r.
-
-    * examples/sndfile-convert.c
-    In function copy_metadata(), copy broadcast info if present.
-
-    * examples/copy_data.[ch] examples/Makefile.am
-    Break some functionality out of sndfile-convert.c so it can be used in
-    examples/sndfile-bwf-set.c.
-
-    * tests/utils.tpl
-    Add new function create_short_sndfile().
-
-    * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
-        examples/Makefile.am
-    Add new files and hook into build.
-
-2008-08-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Fix comments. Patch from Mark Glines.
-
-2008-07-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Use zero_data_test on Ogg/Vorbis files.
-
-    * src/ogg.c
-    Fix segfault when closing an Ogg/Vorbis file that has been opened for write
-    but had no actual data written to it. Bug reported by Chinoy Gupta.
-
-    * tests/Makefile.am
-    Make sure to run mist_test on Ogg/Vorbis files.
-
-2008-07-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * regtest/Makefile.am
-    Use SQLITE3_CFLAGS to locate sqlite headers.
-
-2008-07-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html doc/FAQ.html
-    Add notes about which versions of windows libsndfile works on.
-
-2008-07-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Add a test for correct handling of Ambisonic files. Thanks to Fons
-    Adriaensen for the test.
-
-    * src/wav.c src/wav_w64.c
-    Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
-
-2008-06-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fix detection/enabling of external libs.
-
-    * M4/extra_pkg.m4 M4/Makefile.am
-    Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
-    PKG_CHECK_MODULES. The new macro prints the version number of the package
-    it is searching for.
-
-2008-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Apply a fix from Axel Röbel where if the second loop in the instrument
-    chunk is none, the loop mode is written into the first loop.
-
-2008-05-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_float.c src/test_main.(c|h) src/Makefile.am
-    Add new file to test functions float32_(le|be)_(read|write) and
-    double64_(le|be)_(read|write). Hook into build and testsuite.
-
-    * src/double64.c src/float32.c
-    Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
-    for reporting this bug.
-
-    * src/sndfile.h.in
-    Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
-    unsigned.
-
-    * examples/sndfile-info.c
-    Print out the BEXT time reference in a sensible format.
-
-2008-05-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Fuzz fixes.
-
-    * src/ogg.c
-    Add call to ogg_stream_clear to fix valgrind warning.
-
-    * src/aiff.c
-    Fix x86_64 compile issue.
-
-    * configure.ac src/Makefile.am src/flac.c src/ogg.c
-    Link to external versions of FLAC, Ogg and Vorbis.
-
-    * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
-        tests/vorbis_test.c tests/write_read_test.tpl
-    Fix tests when configured with --disable-external-libs.
-
-    * tests/external_libs_test.c tests/Makefile.am
-    Add new test and hook into build and test suite.
-
-    * src/command.c
-    Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
-    the right data when external libs are disabled.
-
-2008-05-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Add a test for extending a file during write by seeking past the current
-    end of file.
-
-    * src/sndfile.c
-    Allow seeking past end of file during write.
-
-2008-05-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html doc/command.html
-    Move all information about the sf_command function to command.html and add
-    a link from documentation of the sf_read/write_raw function to the
-    SFC_RAW_NEEDS_ENDSWAP command.
-
-    * doc/index.html doc/FAQ.html doc/libsndfile.css
-    Minor documentation tweaks.
-
-2008-05-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add AM_PROG_CC_C_O.
-
-2008-04-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/error_test.c
-    Add a test to make sure if file opened with sf_open_fd, and then the file
-    descriptor is closed, then sf_close will return an error code. Thanks to
-    Dave Flogeras for the bug report.
-
-    * src/sndfile.c
-    Make sf_close return an error is the file descriptor is already closed.
-
-2008-04-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Set object format to aout for OS/2. Thanks to David Yeo.
-
-    * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
-    Add ability to read MPC 2000 file.
-
-    * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
-        tests/Makefile.am
-    Add tests for MPC 2000 file format.
-
-    * examples/sndfile-convert.c
-    Allow conversion to MPC 2000 file format.
-
-2008-04-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/VORBIS/lib/codebook.c
-    Sync from upstream SVN.
-
-    * autogen.sh configure.ac
-    Minor tweaks.
-
-2008-04-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
-    The patch as supplied segfaulted and required many hours of debugging.
-
-    * src/OGG/bitwise.c
-    Sync from upstream SVN.
-
-2008-04-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
-    this issue.
-
-2008-04-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/*.c
-    Add calls to sf_close() where needed.
-
-    * tests/utils.tpl tests/multi_file_test.c
-    Always pass 0 as the third argument to open when OS_IS_WIN32.
-
-2008-04-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_*
-    Add files test_main.[ch].
-    Collapse all tests into a single executable.
-
-2008-03-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC
-    Sync to upstream CVS.
-
-2008-03-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Make SF_MIN and SF_MAX macros MinGW friendly.
-
-    * examples/sndfile-(info|play).c
-    Use Sleep function from <windows.h> instead of _sleep.
-
-    * tests/locale_test.c
-    Disable some tests when OS_IS_WIN32.
-
-    * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
-        src/FLAC/src/share/utf8/utf8.c
-    MinGW fixes.
-
-2008-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Tweaks to pcm16 <-> float conversion answer.
-
-2008-02-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/OGG
-    Sync to SVN upstream.
-
-    * Makefile.am
-    Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
-
-2008-02-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-jackplay.c
-    Minor tweaks to warning message printed when compiled without libjack.
-
-2008-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/peak_chunk_test.c
-    Improve read_write_peak_test to find more errors. Inspired by example
-    provided by Nicolas Castagne.
-
-    * src/aiff.c
-    Another SFM_RDWR fix shown up by above test.
-
-2008-01-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix reading of COMM encoding string.
-
-    * src/chunk.c src/common.h src/Makefile.am
-    New file for storing and retrieving info about header chunks. Hook into
-    build.
-
-    * src/aiff.c
-    Use new chunk logging to fix problem with AIFF in RDWR mode.
-
-2008-01-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c
-    Add WVE to the list of major formats.
-
-    * tests/aiff_rw_test.c
-    Fix error reporting.
-
-2008-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.[ch]
-    Add internal functions str_of_major_format, str_of_minor_format,
-    str_of_open_mode and str_of_endianness.
-
-    * tests/write_read_test.tpl
-    Fix reporting of errors in new_rdwr_XXXX_test.
-
-2008-01-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Apply patch from Yair K. to fix compiles with OSS v4.
-
-    * src/common.h src/float32.c src/double64.c
-    Rename psf->float_enswap to psf->data_endswap.
-
-    * src/sndfile.h.in src/sndfile.c src/pcm.c
-    Add command SFC_RAW_NEEDS_ENDSWAP.
-
-    * tests/command.c
-    Add test for SFC_RAW_NEEDS_ENDSWAP.
-
-    * doc/command.html
-    Document SFC_RAW_NEEDS_ENDSWAP.
-
-    * tests/peak_chunk_test.c
-    Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
-    bug report.
-
-2008-01-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-cmp.c
-    Add new example program contributed by Conrad Parker.
-
-    * examples/Makefile.am
-    Hook into build.
-
-    * doc/development.html
-    Change use or reconfigure.mk to autogen.sh.
-
-2008-01-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/win32_test.c
-    Add another win32 test.
-
-    * tests/util.tpl
-    Add function file_length_fd which wraps fstat.
-
-    * tests/Makefile.am
-    Run the multi_file_test on AU files.
-
-    * tests/multi_file_test.c
-    Use function file_length_fd() instead of file_length() to overcome stupid
-    win32 bug. Fscking hell Microsoft sucks so much.
-
-2008-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Fix a rsrc parsing bug. Example file supplied by Uli Franke.
-
-2007-12-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Allow use of either LGPL v2.1 or LGPL v3.
-
-    * tests/header_test.tpl
-    Add header_shrink_test from Axel Röbel.
-
-    * src/wav.c
-    Add fix from Axel Röbel for writing files with float data but no peak
-    chunk (ie peak chunk gets removed after the file is opened).
-
-    * src/aiff.c tests/header_test.tpl
-    Apply similar fix to above for AIFF files.
-
-    * src/wav.c tests/header_test.tpl
-    Apply similar fix to above for WAVEX files.
-
-    * src/command.c
-    Add Ogg/Vorbis to 'get format' commands.
-
-2007-12-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
-    Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
-
-    * tests/ogg_test.c
-    Add stereo seek tests.
-
-2007-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/ogg_test.c
-    Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
-    case supplied by Bodo.
-
-    * tests/utils.(def|tpl)
-    Add compare_XXX_or_die functions.
-
-2007-12-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
-    misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
-
-2007-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
-    Merge in code from the vox-patch branch. Thanks to Robs for the patch
-    which fixes a long standing bug in the VOX codec.
-
-2007-12-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Fix handling of -override-sample-rate=X option.
-
-2007-11-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c src/VORBIS
-    Merge in Ogg Vorbis support from John ffitch of the Csound project.
-
-2007-11-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
-    recognise 'vox8' as and 'vox' as 8kHz files.
-
-    * configure.ac
-    Detect libjack (JACK Audio Connect Kit).
-
-    * examples/sndfile-jackplay.c examples/Makefile.am
-    Add new example program to play sound files using the JACK audio server.
-    Thanks to Jonatan Liljedahl for allowing this to be included.
-
-2007-11-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Update support table with SD2 and FLAC.
-
-2007-11-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix calculation of internal value psf->read_current when attempting to read
-    past end of audio data.
-    Remove redundant code.
-
-    * tests/lossy_comp_test.c
-    Add read_raw_test to check that raw reads do not go past the end of the
-    audio data section.
-    Clean up error output messages.
-
-    * src/sndfile.c
-    Add code to prevent sf_read_raw from reading past the end of the audio data.
-
-    * tests/Makefile.am
-    Add the wav_pcm lossy_comp_test.
-
-2007-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/Makefile.am src/create_symbols_file.py
-    More OS/2 fixes from David Yeo.
-
-2007-11-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c tests/utils.tpl tests/benchmark.tpl
-    Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
-
-2007-11-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
-
-    * src/create_symbols_file.py
-    Add support for OS/2 contributed by David Yeo.
-
-2007-11-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * M4/gcc_version.m4
-    Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
-
-    * configure.ac
-    Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
-    See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
-    Use -fgnu-inline to prevent stupid warnings.
-
-2007-11-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/util.tpl
-    Increase the printing width for print_test_name().
-
-    * tests/command_test.c tests/Makefile.am
-    Add tests for correct updating of broadcast WAV coding history.
-
-    * examples/sndfilehandle.cc examples/Makefile.am
-    Add example program using the C++ SndfileHandle class.
-
-2007-10-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/sndfile.c
-    Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
-
-2007-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Identify sample-rate/sample-size/channels by resource id.
-
-2007-10-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/broadcast.c src/common.h src/sndfile.c
-    Improvements to handling of broadcast info in WAV files. Thanks to Frederic
-    Cornu and other for their input.
-
-2007-10-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC/include/share/alloc.h
-    Mingw fix for SIZE_T_MAX from Uli Franke.
-
-2007-10-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
-    Move tests from open_fail_test.c to error_test.c and remove the former.
-
-2007-10-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/scale_clip_test.(def|tpl)
-    Add tests for SFC_SET_INT_FLOAT_WRITE command.
-
-    * doc/command.html
-    Add docs for SFC_SET_INT_FLOAT_WRITE command.
-
-    * examples/sndfile-play.c tests/dft_cmp.c
-    Fix gcc-4.2 warning messages.
-
-2007-10-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c
-    Add command SFC_GET_CURRENT_SF_INFO.
-
-    * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
-    Remove function sf_get_info (only ever in pre-release code).
-
-    * tests/command_test.c
-    Add test for SFC_GET_CURRENT_SF_INFO.
-
-2007-10-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Add parsing of 'exif' chunks. Originally coded by Trent Apted.
-
-    * configure.ac
-    Put config stuff in Cfg directory.
-    Remove check for inttypes.h.
-
-2007-10-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Fix writing of 'riff' chunk length and check for correct value in parser.
-
-2007-09-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Link to MP3 FAQ entry.
-
-2007-09-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Move the blocksize check to an earlier stage of flac_buffer_copy.
-
-2007-09-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC
-    Huge merge from FLAC upstream.
-
-2007-09-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/*.c
-    Change license to all example programs to BSD.
-
-2007-09-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC/include/FLAC/metadata.h
-    Include <sys/types.h> to prevent compile error on OSX.
-
-    * Octave/octave_test.sh
-    Disable test on OSX. Can't get it to work.
-
-    * src/flac.c
-    Check the blocksize returned from the FLAC decoder to prevent buffer
-    overruns. Reported by Jeremy Friesner. Thanks.
-
-2007-09-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Makefile.am M4/octave.m4
-    Fix build when Octave headers are not present.
-
-2007-08-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/development.html
-    Add note about bzr repository directory looking empty.
-
-2007-08-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac Octave/* M4/octave_*
-    Bunch of changes to add ability to build GNU Octave modules to read/write
-    sound files using libsndfile from Octave.
-
-2007-08-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * acinclude.m4 configure.ac ...
-    Get rid of acinclude.m4 and replace it with an M4 directory.
-
-2007-08-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Remove crufty Metrowerks compiler support. Allow header file to be compiled
-    on windows with both GCC and microsoft compiler.
-
-2007-08-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/dft_cmp.[ch] tests/floating_point_test.tpl
-    Clean up floating point tests.
-
-2007-08-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix segfault when COMM chunk length is byte swapped.
-
-2007-08-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/mat4.c src/mat5.c src/sndfile.c
-    Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
-
-    * src/au.c
-    Fix crash on AU files with zero channel count. Reported by Ben Alison.
-
-2007-08-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Fix bug in handling file supplied by Matt Olenik.
-
-2007-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/OGG
-    Merge from OGG upstream sources.
-
-2007-07-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC
-    Merge from FLAC upstream sources.
-
-2007-07-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Fix memory leak; set copy parameter to FALSE in call to
-    FLAC__metadata_object_vorbiscomment_append_comment.
-
-    * src/common.[ch]
-    Add function psf_rand_int32().
-
-2007-07-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC
-    Merge from FLAC upstream sources.
-
-    * src/strings.c tests/string_test.c tests/Makefile.am
-    Make sure string tests for SF_STR_LICENSE actually works.
-
-2007-07-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/string_test.c
-    Add ability to test strings stored in metadata secion of FLAC files.
-
-    * src/string.c
-    Fix logic for testing if audio data has been written and string is added.
-    Make sure SF_STR_ALBUM actually works.
-
-    * src/flac.c
-    Finalize reading/writing string metadata. Tests pass.
-
-    * src/sndfile.h.in tests/string_test.c src/flac.c
-    Add string type SF_STR_LICENSE, update test and use for FLAC files.
-
-    * src/sndfile.h.in
-    Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
-
-    * src/common.h src/double64.c src/float32.c src/sndfile.c
-    Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
-
-2007-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Apply patch from Ed Schouten to read artist and title metadata from FLAC
-    files.
-    Improve reporting of FLAC metadata.
-
-    * src/sndfile.h.in tests/string_test.c src/flac.c
-    Add string type SF_STR_ALBUM, update test and use for FLAC files.
-
-2007-06-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC/*
-    Merge from upstream CVS.
-
-2007-06-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC/*
-    Update from upstream CVS.
-
-2007-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/cpp_test.cc
-    Add extra tests for when the SndfileHandle constructor fails.
-
-    * src/sndfile.hh
-    Make sure failure to open the file in the constructor does not allow later
-    calls to other methods to fail.
-
-2007-06-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/util.tpl
-    Add function write_mono_file.
-
-    * tests/generate.[ch] tests/Makefile.am
-    Add files generate.[ch] and hook into build.
-
-    * tests/write_read_test.tpl
-    Add multi_seek_test.
-
-    * src/flac.c
-    Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
-    by David Viens.
-
-2007-06-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Minor update.
-
-    * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
-    Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
-
-2007-05-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
-
-2007-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fix array indexing bug raised by Bruce Sharpe.
-
-2007-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC/src/share/getopt/getopt.c
-    Fix Mac OSX / PowerPC compile warnings.
-
-    * configure.ac
-    Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
-
-2007-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Add Q/A about MP3 support.
-
-2007-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/new_file_type.HOWTO
-    Minor updates.
-
-2007-05-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wve.c
-    Fix a couple bad parameters with psf_log_printf.
-
-    * src/pcm.c
-    Improve error reporting.
-
-    * src/common.h src/common.c
-    Constify psf_hexdump.
-
-2007-04-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC
-    Ditch and re-import required FLAC code.
-
-    * configure.ac
-    Force FLAC__HAS_OGG variable to 1.
-
-    * src/FLAC/src/libFLAC/stream_encoder.c
-    Fix compiler warnings.
-
-2007-04-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac tests/win32_ordinal_test.c
-    Detect if win32 DLL is beging generated and only run win32_ordinal_test if
-    true.
-
-    * src/G72x/Makefile.am src/Makefile.am
-    Use $(EXEEXT) where possible.
-
-2007-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wve.c src/common.h src/sndfile.c
-    Complete definition of SfE_WVE_NO_WVE error message.
-
-    * src/wve.c
-    Fix error in files generated on big endian systems. Robustify parsing.
-
-2007-04-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/double64.c
-    Fix clipping of double to short conversions on 64 bit systems.
-
-    * src/flac.c regtest/database.c tests/cpp_test.cc
-    Fix compile warnings for 64 bit systems.
-
-2007-04-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/wav_w64.c
-    Use audio detect function when 'fmt ' chunk data is suspicious.
-
-    * configure.ac
-    Add ugly hack to remove -Werror from some Makefiles.
-
-2007-04-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
-    Add patch from André Pang to clean up compiles on OSX.
-
-    * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
-        examples/sndfile-convert.c
-    Merge changes from Reuben Thomas to improve WVE support.
-
-    * tests/lossy_comp_test.c tests/Makefile.am
-    Add tests for WVE files.
-
-2007-04-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add a static SndfileHandle::formatCheck method as suggested by Jorge
-    Jiménez.
-
-2007-04-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a bug in sf_error() where the function itself was being compared
-    against zero. Add a check for a NULL return from peak_info_calloc. Fix a
-    possible NULL dereference.
-
-2007-04-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
-    opening file for RDWR.
-
-    * src/sndfile.c
-    Improve error message for SFE_BAD_RDWR_FORMAT.
-
-    * src/mat4.c
-    Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
-
-2007-03-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Add Q/A 19 on project files.
-
-2007-03-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Guard agains MacOSX universal binary compiles.
-
-    * doc/FAQ.html
-    Add Q/A 18 and clean up Q3.
-
-2007-02-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Add support for 'in24' files.
-
-2007-02-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/wav_w64.c src/wav_w64.h
-    Start work towards detecting ausio codec type from the actual audio data.
-
-    * src/audio_detect.c src/test_audio_detect.c
-    Add new file and its unit test.
-
-2007-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/cooledit-fixer.c examples/Makefile.am
-    Remove old broken example program.
-
-2007-02-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
-    Add function sf_get_info.
-
-2007-01-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    For ALSA, use the 'default' device instead of 'plughw:0'.
-
-2007-01-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
-
-2007-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/development.html doc/embedded_files.html man/sndfile-play.1
-    Minor documentation fixes. Thanks Reuben Thomas.
-
-2006-12-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Add -override-sample-rate command line option.
-
-2006-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Force errno to zero at start of some tests.
-
-    * src/sndfile.c
-    Minor clean up of error handling.
-
-    * configure.ac
-    Remove an assembler test which was failing on OSX.
-
-2006-11-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Fix the definition of SF_PLATFORM_S64 for MinGW.
-
-    * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
-    Fix path problems for MinGW.
-
-2006-11-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfendian.h
-    Add include guard.
-
-    * src/Makefile.am src/flac.c
-    Clean up include paths.
-
-    * src/test_conversions.c
-    New file to test psf_binheader_readf/writef functions.
-
-    * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
-    Clean up unit testing.
-
-    * src/common.c
-    Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
-    for reporting this.
-
-    * src/test_conversions.c
-    Complete unit test for above fix.
-
-2006-11-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    More refactoring to clean up psf_open_file() and vairous sf_open()
-    functions.
-
-2006-11-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
-    files of over 4 gigabytes.
-
-2006-11-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Refactor function psf_open_file() to provide a single return point.
-
-    * tests/misc_test.c
-    Fix permission_test to ensure that read only file can be created.
-
-2006-11-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
-    bit integers.
-
-    * src/aiff.c src/svx.c src/wav.c
-    Add warning in log if files are larger than 4 gigabytes in size.
-
-2006-11-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/FLAC src/OGG confgure.ac src/Makefile.am
-    Pull in all required FLAC and OGG code so external libraries are not
-    needed. This makes compiling on stupid fscking Windoze easier.
-
-2006-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Add workaround for switched sample rate and sample size.
-
-    * src/wav.c
-    Add workaround for excessively long coding history in the 'bext' chunk.
-
-2006-10-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
-    Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
-
-2006-10-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
-    Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
-    files. Still needs a little tweaking before its ready for release.
-
-    * src/*.c
-    Use the UNUSED macro to prevent compiler warnings.
-
-2006-10-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
-    to David Viens for providing two example files.
-
-    * src/common.(c|h) src/aiff.c
-    Add a function psf_sanitize_string and use it in aiff.c.
-
-2006-10-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_w64.c
-    Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
-
-2006-10-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/Makefile.am
-    Fix problem related to recent test coverage changes.
-
-2006-10-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac tests/Makefile.am
-    Add --enable-test-coverage configure option.
-
-2006-10-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add an std::string SndfileHandle constructor.
-
-    * tests/scale_clip_test.tpl
-    Fix the 'make distcheck' target.
-
-2006-10-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/double64.c src/float32.c
-    Add optional clipping on float file data to int read data conversions.
-
-    * tests/tests/scale_clip_test.(def|tpl)
-    Add test for above new code.
-
-2006-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/aiff_rw_test.c
-    Add 'MARK' chunks to make sure they are parsed correctly.
-
-2006-09-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
-    help debug the problem.
-
-2006-09-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Make the SF_MIN and SF_MAX macros at least partially type safe.
-
-    * tests/lossy_comp_test.c
-    Fix overflow problems when ensuring that signalis not zero.
-
-2006-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac docs/*.html
-    Changes for release 1.0.17.
-
-2006-08-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Remove inline from functions called by pointer. Thanks to Sampo Savolainen
-    for notifying me of this.
-
-2006-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Add writeSync method.
-    Add copy constructor and assignment operator (thanks Daniel Schmitt).
-    Add methods readRaw and writeRaw.
-    Make read/write/readf/writef simple overlaods instead of templates (thanks
-    to Trent Apted for suggesting this).
-
-    * tests/cpp_test.cc
-    Cleanup. Add tests.
-
-2006-07-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
-    Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
-    openReadWrite methods.
-    Add const to SF_INFO pointer in Sndfile constructor.
-    Make the destrictor call the close() method.
-
-    * tests/cpp_test.cc
-    Add more tests.
-
-2006-07-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/cpp_test.cc
-    Remove the generated file so "make distcheck" passes.
-
-    * src/Makefile.am
-    Add sndfile.hh to distributed header files.
-
-    * src/sndfile.hh
-    Change the license for the C++ wrapper to modified BSD.
-
-2006-07-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.hh
-    Complete it.
-
-    * tests/cpp_test.cc
-    Add more tests.
-
-2006-07-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl
-    Add extern C to generated header file.
-
-    * src/sndfile.hh
-    Work towards completing this.
-
-    * tests/cpp_test.cc tests/Makefile.am
-    Add a C++ test and hook into build.
-
-    * configure.ac
-    Add appropriate CXXFLAGS.
-
-2006-07-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Test if compiler supports -Wpointer-arith.
-
-    * src/common.c
-    Fix a warning resulting from -Wpointer-arith.
-
-2006-07-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Explicitly set endian-ness as well as setting 16 bit output.
-
-    * examples/sndfile-info.c
-    Make sure to parse info if file fails to open.
-
-    * src/sndfile.c
-    Handle parse error a little better.
-
-    * src/wav_w64.[ch]
-    Minor clean up, add detection of IPP ITU G723.1.
-
-2006-06-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Make sure psf->dataoffset gets reset to zero when openning headersless
-    files based on the file name extension.
-
-2006-06-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
-        tests/write_read_test.(tpl|def)
-    Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
-    break strict-aliasing rules".
-
-    * examples/cooledit-fixer.c
-    More fixes like above.
-
-2006-06-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fix a windows bug where the syserr string of SF_PRIVATE was not being set
-    correctly.
-
-    * src/sndfile.c
-    Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
-
-2006-06-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fixed detection of S_IRGRP.
-
-2006-05-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * sndfile-convert.c
-    Add conversion SF_INSTRUMENT data when present.
-
-2006-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/development.html
-    Removed references to tla on windows.
-
-    * src/common.h src/sndfile.c
-    Add separate void pointers for file containter and file codec data to
-    SF_PRIVATE struct. Still need to move all existing fdata pointers.
-
-    * tests/write_read_test.tpl
-    Change the order of some tests.
-
-    * src/aiff.c
-    When writing 'AIFC' files, make sure get an 'FVER' gets added.
-
-    * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
-        src/(sndfile|voc|vox_adpcm|xi).c
-    Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
-
-2006-05-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/testprog.c Win32/Makefile.am
-    Add a minimal win32 test program.
-
-    * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
-    Update readme and Mingw build script.
-
-2006-05-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac acinclude.m4
-    Minor fixes for Solaris.
-
-2006-05-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_endswap.(def|tpl)
-    Fix printf formatting for int64_t on 64 bit machines.
-
-2006-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/binhead_check.py
-    New file to check for bad parameters passed to psf_binheader_writef().
-
-    * src/Makefile.am
-    Hook into test suite.
-
-    * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
-    Fix bugs found by new test program.
-
-    * src/double64.c
-    Clean up double64_get_capability().
-
-2006-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_w64.c
-    Fix a bug on x86_64 where an int was being passed via stdargs and being
-    read using size_t which is 64 bits. Thenks to John ffitch for giving me a
-    login on his box.
-
-2006-05-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
-            tests/utils.tpl
-    Fix a couple of signed/unsigned problems.
-
-2006-05-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    Add channel map tests.
-
-    * src/common.h src/sndfile.c
-    Add a pointer the the SF_PRIVATE struct and make sure it gets freed in
-    sf_close().
-
-2006-04-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac doc/(command|index|api).html NEWS README
-    Updates for 1.0.16 release.
-
-    * src/sndfile.h.in
-    Define enums for channel mapping.
-
-    * examples/sndfile-info.c
-    Clean up usage of SF_INFO struct.
-
-2006-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/util.tpl
-    Add function testing function exit_if_true().
-
-    * tests/floating_point_test.tpl
-    Fix a problem where the test program was not exiting when the test failed.
-
-2006-04-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
-    Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
-
-    * doc/commands.html
-    Document new commands. Other minor updates.
-
-    * tests/peak_chunk_test.c
-    Update tests for new commands.
-
-2006-04-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/peak_chunk_test.c
-    Add test for RIFX and WAVEX files.
-    Try and confuse the PEAK chunk writing by enabling and disabling it.
-
-    * src/sndfile.c
-    Fix a bug where enabling and disabling PEAK chunk was screwing up.
-
-2006-03-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Add the block of 190 reserved bytes into this struct to allow for
-    future expansion.
-
-    * src/wav.c src/sndfile.c src/broadcast.c
-    Significant cleanup of broadcast wave stuff.
-
-    * examples/sndfile-info.c
-    Fix print message.
-
-    * tests/command_test.c tests/Makefile.am
-    Complete bext tests, hook test in test suite.
-
-2006-03-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Make coding_history field of SF_BROADCAST_INFO struct a char array instead
-    of a char pointer.
-
-    * src/sndfile.c src/common.h src/wav.c
-    Clean up knock on effects of above chnage.
-
-    * examples/sndfile-info.c
-    Add -b command line option to usage message.
-    Clean up output of broadcast wave info.
-
-    * src/wav.c
-    Ignore and skip the 'levl' chunk.
-
-2006-03-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fix handling of --enable and --disable configure args. Thanks to Diego
-    'Flameeyes' Pettenò who sent the patch.
-
-2006-03-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/win32.html
-    Make it really clear that although the MSVC++ cannot compile libsndfile,
-    the precompiled DLL can be used in C++ programs compiled with MSVC++.
-
-2006-03-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix bug in writing of INST chunk in AIFF files.
-    Fix potential bug in writing MARK chunks.
-
-    * src/sndfile.c
-    Make sure the instrument chunk can only be written at the start of the file.
-
-    * tests/command_test.c
-    Add check of log buffer.
-
-    * tests/utils.tpl
-    Add usage of space character to psf_binheader_writef.
-
-2006-03-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/Makefile.am tests/Makefile.am
-    Remove --source-time argument from autogen command lines.
-
-    * src/broadcast.c
-    New file for EBU Broadcast chunk in WAV files.
-
-    * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
-    Add patch from Paul Davis implementing read/write of the BEXT chunk.
-
-2006-03-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/README-precompiled-dll.txt
-    New file descibing how to use the precompiled DLL.
-
-    * Win32/Makefile.am
-    Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
-
-    * configure.ac
-    Bump version to 1.0.15.
-
-2006-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    On read, only add the endian flag if the file is big endian.
-
-    * src/ms_adpcm.c
-    Fixed writing of APDCM coeffs in RIFX files.
-
-    * tests/write_read_test.tpl tests/lossy_comp_test.c
-    Add tests for RIFX files.
-
-2006-03-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Mingw-make-dist.sh
-    Bunch of improvements.
-
-    * doc/win32.html
-    Update MinGW program versions.
-
-2006-03-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/create_symbols_file.py
-    Fix the library name in created win32 DEF file. Add correct DLL name for
-    Cygwin DLL.
-
-    * Win32/Makefile.am tests/Makefile.am
-    Remove redundant files, add win32_ordinal_test to test suite.
-
-    * tests/win32_ordinal_test.c
-    Update to do test in cygsndfile-1.dll as well.
-
-    * doc/win32.html
-    Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
-
-    * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
-    Apply large patch from Jesse Chappell which adds support for RIFX files.
-
-2006-03-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Makefile.am
-    Add Mingw-make-dist.sh to the extra dist files.
-
-    * configure.ac
-    Fix setting SHLIB_VERSION_ARG for MinGW.
-
-    * tests/win32_ordinal_test.c
-    New test program to test that the win32 DLL ordinals agree with the DEF
-    file.
-
-2006-03-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add a static inline function to convert an int to a size_t. This will be
-    a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
-
-    * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
-    Fix an ia64 problem where a varargs function was being passed an int in
-    some places and a size_t in other places.
-
-    * src/sd2.c
-    Add a workaround for situations where OSX seems to add an extra 0x52 bytes
-    to the start of the resource fork.
-
-2006-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Mingw-make-dist.sh
-    Add a shell script to build the windows binary/source ZIP file.
-
-    * doc/index.html
-    Add download link for windows binary/source ZIP file. Add links for GPG
-    signatures.
-
-    * doc/win32.html
-    Remove info about building using microsoft compiler.
-
-    * configure.ac
-    Bump version to 1.0.14.
-
-2006-02-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Improve logging of errors in resource fork parser.
-
-2006-01-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.msvc
-    Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
-
-2006-01-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Make sure return values are initialised header buffer is full.
-
-    * src/wav.c
-    Add workarounds for messed up WAV files.
-
-2006-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/config.h
-    Undef HAVE_INTTYPES_H for win32.
-
-    * tests/command_test.c
-    Don't exit on error in instrument test for XI files.
-
-    * configure.ac
-    Bump version to 1.0.13.
-
-    * doc/*.html NEWS README
-    Update version numbers.
-
-2006-01-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/xi.c
-    Start work on add read/write of instrument chunks.
-
-    * src/command_test.c
-    Add tests for XI instrument chunk.
-
-    * tests/largefile_test.c tests/Makefile.am
-    Add new test and hook it into the build system. This test will not be run
-    automatically because it requires 3 Gig of disk space and takes 3 minutes
-    to run.
-
-2006-01-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
-
-    * src/common.h
-    Make sure length of header buffer can hold header plus strings. Thanks Axel
-    Röbel.
-
-2006-01-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/aiff.c src/wav.c
-    Apply a patch from John ffitch (Csound project).
-    Add detune field to SF_INSTRUMENT struct.
-    Add reading/writing instrument chunks to WAV files.
-
-    * tests/command_test.c
-    Update SF_INSTRUMENT tests.
-
-    * tests/Makefile.am
-    Hook instrument tests into test suite.
-
-2006-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Check for <inttypes.h> because some broken systems (like Solaris) don't have
-    <stdint.h> which is the 1999 ISO C standard file containing int64_t.
-
-    * src/sfendian.h src/common.h
-    Use <inttypes.h> if <stdint.h> is not available.
-
-2005-12-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/peak_chunk_test.c
-    Extend and clean up tests.
-
-    * src/sndfile.c
-    Fix a bug that prevented the turning off of PEAK chunks.
-
-2005-12-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/error_test.c
-    Make the test distclean correct.
-
-    * src/file_io.c
-    Fix an SD2 MacOSX bug (reported by vince schwarzinger).
-
-2005-12-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c tests/command_test.c
-    Apply a big patch from John ffitch (Csound project) to add reading and
-    writing of instrument chunks to AIFF files. Also update the test.
-
-2005-12-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
-    Move test function dump_data_to_file() to utils.tpl.
-
-    * tests/error_test.c tests/Makefile.am
-    Updates, including a new test to test that sf_error() returns a valid error
-    number.
-
-2005-12-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/list_formats.c
-    Make sure the SF_INFO struct is memset to all zero before being used.
-    Thanks to Stephen F. Booth.
-
-    * src/sndfile.c
-    Make the return value of sf_error() match the API documentation.
-
-2005-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Allow conversion to raw gsm610.
-
-    * src/common.h src/sndfile.c src/au.c
-    Remove au_nh_open() and all references to it (wasn't working anyway).
-
-    * tests/headerless_test.c
-    Add new test for file extension based detection.
-
-    * src/sndfile.c
-    Rejig file extension based file type detection.
-
-2005-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Add "gsm" as a recognised file extension when no magic number can be found.
-
-    * tests/lossy_comp_test.c tests/Makefile.am
-    Test headerless GSM610.
-
-2005-11-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
-
-2005-10-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_w64.c
-    Add more reporting of 'fmt ' chunk for G721 encoded files.
-
-    * src/wav.c
-    Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
-
-2005-10-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/G72x/g72x.[ch]
-    Minor cleanup of interface.
-
-2005-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ogg.c
-    Removed the horribly broken and non-functional OGG implementation when
-    --enable-experimental was enabled. When OGG does finally work it will be
-    merged.
-
-    * src/caf.c
-    Fix a memory leak.
-
-2005-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
-    Add support for G721 encoded WAV files.
-
-    * doc/index.html
-    Update support matrix.
-
-    * tests/lossy_comp_test.c
-    For file formats that support it, add string data after the audio data and
-    make sure it isn't treated as audio data on read.
-
-    * src/gsm610.c
-    Add code to ensure that the container close function (ie for WAV files) gets
-    called after the codec's close function. This allows GSM610 encoded WAV files
-    to have string data following the audio data.
-    Add an AIFF specific check on psf->datalength.
-
-    * src/wav.c
-    Simplify wav_close function.
-
-    * src/aiff.c
-    Make sure the tailer data gets written at an even file offset. Pad if
-    necessary.
-
-    * src/common.h
-    Replace the close function pointer in SF_PRIVATE with separate functions
-    codec_close and container_close. The former is always called first.
-
-    *  src/*.c
-    Fix knock on effects of above.
-
-2005-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-info.c
-    Complete dumping SF_INSTRUMENT data.
-
-    * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
-    Add extra checks in *_init function.
-
-    * tests/lossy_comp_test.c
-    Add a string comment to the end of the files to make sure that the decoder
-    doesn't decode beyond the end of the audio data section.
-
-2005-10-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-info.c
-    Minor code cleanup.
-    Start work on dumping SF_INSTRUMENT data.
-
-2005-10-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/common.h src/common.c
-    Update definition of SF_INSTRUMENT struct and create a function to allocate
-    and initialize the struct (input from David Viens).
-    Clean up definition of SF_INSTRUMENT struct.
-
-    * src/wav.c src/wav_w64.c
-    Add support for Ambisoncs B WAVEX files (David Viens).
-
-    * src/aiff.c src/wav.c src/wav_w64.c
-    Start work on reading/writing the SF_INSTRUMENT data.
-
-    * src/sndfile.c
-    Add code to get and set SF_INSTRUMENT data.
-
-    * tests/command_test.* tests/Makefile.am
-    Add test for set and getof SF_INSTRUMENT data.
-    The file command_test.c is no longer autogen generated.
-
-2005-10-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/gsm610.c
-    Minor cleanup.
-
-2005-10-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Minor cleanup.
-
-2005-10-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Ensure sfconfig.h is included before any other header file.
-
-    * src/file_io.c
-    Add comments documenting the three sections of the file.
-
-    * src/gsm610.c
-    Make sure SF_FORMAT_WAVEX are handled correctly.
-
-2005-10-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
-
-2005-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/locale_test.c
-    Modify the way the unicode strings were encoded so that older compilers
-    do not complain. Thanks Axel Röbel.
-
-    * configure.ac
-    Bump the version to 1.0.12 for release.
-
-    * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
-    Update version numbers.
-
-2005-09-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Fix valgrind error and minor cleanup.
-
-2005-09-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/(au|paf|aiff|w64|wav|svx).c
-    Make sure structs are initialised.
-
-2005-09-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
-    option.
-    Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
-    compiler supports it.
-
-2005-09-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac acinclude.m4
-    Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
-
-2005-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/util.(tpl|def)
-    Make the test_write_*_or_die() functions const safe.
-
-2005-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Make sure the data offset is read from the file header. Thanks to
-    David A. van Leeuwen for a patch.
-
-2005-09-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/sfconfig.h
-    Check for <locale.h> and the function setlocale().
-    Set config variables to zero if not found.
-
-    * tests/locale_test.c tests/Makefile.am
-    Add new test program and hook into build/test system.
-
-2005-09-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/file_io.c
-    On windows, use windows specific types for file handles.
-    Add functions psf_init_files() and psf_use_rsrc().
-
-    * src/sd2.c
-    Make resource fork handling independant of file desciptor/handles.
-
-    * src/sndfile.c src/test_file_io.c
-    Fix knock on effects.
-
-2005-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float_cast.h
-    The lrint and lrintf implementations in Cygwin are both buggy and slow.
-    Add replacements which were pulled from the Public Domain MinGW math.h
-    header file.
-
-2005-09-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/(lossy_comp_test|virtual_io_test).c
-    More Valgrind fixups.
-
-    * configure.ac
-    Simplify and correct configuring for Cygwin.
-
-    * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
-    Update build for MSVC.
-
-2005-09-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Make sure to close SNDFILE when exiting test when file format is not seekable.
-
-    * tests/(aiff_rw_test|virtual_io_test).c
-    Do a few valgrind fix ups.
-
-2005-09-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c src/double64.c
-    Replace floating point equality comparisons with greater/less comparisons.
-    Found by John Pavel using the Intel compiler.
-
-    * src/sfconfig.h
-    New file to clean up issues surrounding autoconf generated preprocessor
-    symbols.
-
-    * src/*.(c|h) tests/*.(c|tpl) examples/*.c
-    Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
-
-    * src/file_io.c
-    Remove Mac OS9 Metrowerks compiler specific hacks.
-
-2005-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Cast integer literal to sf_count_t in call to psf_binheader_writef() to
-    prevent Valgrind error.
-
-2005-08-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Improve documentation of SF_GET_FORMAT_SUBTYPE.
-
-2005-08-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Allow files to be converted to SD2 format.
-
-    * src/sd2.c
-    Fix a bug in reading and writing of SD2 files on little endian CPUs.
-    Thanks to Matthew Willis for finding this.
-
-2005-08-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
-
-2005-08-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Use $host_os instead of $target_os (thanks to Mo De Jong).
-
-2005-08-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/Makefile.am
-    Apply a patch from Mo DeJong to allow building outside of the source dir.
-
-    * src/file_io.c
-    Fix psf_fsync() for win32.
-
-    * src/wav.c src/wav_w64.(c|h)
-    Move some code from wav.c to wav_w64.c to improve the log output of files of
-    type WAVE_FORMAT_EXTENSIBLE.
-
-2005-08-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/create_symbols_file.py
-    Make sure sf_write_fsync is an exported symbol.
-
-    * examples/sndfile-convert.c
-    Add support for writing VOX adpcm files.
-
-2005-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Document the new function sf_write_sync().
-
-    * doc/FAQ.html
-    Do you plan to support XYZ codec.
-
-2005-07-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c
-    Add function sf_write_sync() to the API.
-
-    * src/common.h src/file_io.c
-    Low level implementation (win32 not done yet).
-
-    * tests/write_read_test.tpl
-    Use the new function in the tests.
-
-2005-07-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/double64.c src/float32.c src/sndfile.c
-    Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
-    for position and a double as the value.
-
-    * src/aiff.c src/caf.c src/wav.c
-    Fix knock on effects of above changes.
-
-    * src/caf.c
-    Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
-    SF_FORMAT_DOUBLE format.
-
-2005-07-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Fix a bug where a variable was being used without being initialized.
-
-    * src/flac.c
-    Add extra debug in sf_flac_meta_callback.
-    Make a bunch of private functions static.
-
-    * src/aiff.c src/wav.c
-    Fix allocation for PEAK_CHUNK (bug found using valgrind).
-
-2005-07-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
-    Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
-    Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
-
-    * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
-    Fix knock on effects from above.
-
-2005-07-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Prevent files with unknown chunks from being opened read/write.
-
-2005-07-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/flac.c
-    Do not use psf->end_of_file because it never gets set to anything.
-
-    * src/common.h
-    Remove unused SF_PRIVATE field end_of_file.
-
-2005-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Change the 'S' format specifier of psf_binheader_writef() to write AIFF
-    style strings (no terminating character).
-
-    * src/aiff.c
-    Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
-    so persistent on this issue.
-
-2005-07-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
-
-    * doc/api.html doc/command.html
-    Documentation updates (thanks to Kyroz for promoting these updates).
-
-    * src/mat5.c
-    Modify the way the header is written.
-
-2005-07-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/caf.c
-    Add a 'free' chunk to the written file so that the audio data starts at
-    an offset of 0x1000.
-
-    * src/sndfile.c
-    Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
-
-2005-07-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/caf.c src/sndfile.c
-    Add support for signed 8 bit integers.
-
-    * tests/write_read_test.tpl
-    Add test for signed 8 bit integers in CAF files.
-
-    * doc/index.html
-    Update matrix for signed 8 bit integers in CAF files.
-
-2005-07-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Update sf_check_format() to support CAF.
-
-    * examples/sndfile-convert.c
-    Add support for ".caf" file extension.
-
-    * doc/index.html
-    Add Apple CAF to the support matrix.
-
-    * src/caf.c
-    Add file write support.
-
-    * src/common.c
-    Fix printing of Frames.
-
-    * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
-        tests/header_test.tpl misc_test.c
-    Add tests for CAF files.
-
-2005-07-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Fix Q/A about reading/writing memory buffers.
-
-    * src/caf.c
-    Bunch of work to support reading of CAF files.
-
-2005-07-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
-    Fix sign conversion errors reported by gcc-4.0.
-
-    * src/caf.c
-    New file for Apple's Core Audio File format.
-
-    * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
-    Hook new file into build system.
-
-2005-06-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src_wav_w64.c
-    Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
-    for supplying an example file.
-
-    * src/common.h src/sndfile.c
-    Remove redundant error code SFE_WAV_FMT_TOO_BIG.
-
-2005-06-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/common.h src/sndfile.c
-    Add public error value SF_ERR_MALFORMED_FILE.
-
-    * src/sndfile.c
-    When parsing a file header fails and we don't have a system error, then set
-    the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
-
-    * configure.ac
-    Allow sqlite support to be disabled in configure script.
-
-    * regtest/database.c regtest/sndfile-regtest.c
-    Fix compiling when sqlite is missing.
-
-2005-06-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
-
-    * src/sndfile.c
-    Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
-
-    * tests/virtual_io_test.c
-    Fill in skeleton test program.
-
-    * tests/Makefile.am
-    Move virtual i/o tests to end of tests with stdio/pipe tests.
-
-    * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
-    Rename some of the virtual i/o functions and data types.
-
-2005-06-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
-    SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
-    Kyroz for pointing out these errors.
-
-    * doc/command.html
-    Correct documented return values for SFC_SET_NORM_DOUBLE and
-    SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
-
-2005-05-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * regtest/*
-    Add new files for sndfile-regtest program.
-
-    * configure.ac Makefile.am
-    Hook regetest into build.
-
-    * src/wav.c src/common.c
-    Fix a regression where long ICMT chunks were causing the WAV parser
-    to exit.
-
-2005-05-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * libsndfile.spec.in
-    Add html docs to the files section as suggested by Karsten Jeppesen.
-
-    * src/aiff.c
-    Fix parsing of odd length ANNO chunks.
-
-2005-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Change the include guard to prevent clashes with other code.
-
-2005-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Improve error handling in code for playback under Linux/ALSA.
-
-2005-05-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ircam.c
-    Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
-
-    * src/wav.c
-    Add workaround for files created by the Peak audio editor on Mac which can
-    produce files with very short LIST chunks (thanks to Jonathan Segel who
-    supplied the file).
-
-2005-04-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Apply a patch From David Viens to make the parsing of basc chunks more
-    robust.
-
-    * src/wav.c
-    Another patch from David Viens to write correct wavex channel masks for
-    the most common channel configurations.
-
-2005-04-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c
-    Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
-    Leigh Smith.
-
-2005-03-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add a directory field for storing the file directory to the SF_PRIVATE
-    struct.
-
-    * src/sndfile.c
-    Grab the directory name when copying the file path.
-
-    * src/file_io.c
-    Cleanup psf_open_rsrc() and also check for resource fork in
-    .AppleDouble/filename.
-
-2005-03-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/svx.c
-    Fix a bug in the printing of the channel count. Bug reported by Michael
-    Schwendt. Thanks.
-
-2005-01-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    Fix a seek bug for 24 bit PAF files.
-
-    * tests/write_read_test.tpl
-    Update write_read_test to trigger the previously hidden PAF seek bug.
-
-2005-01-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/w64.c src/wav.c
-    Do not return a header parse error when the log buffer overflows.
-    Continuing parsing works even on files where the log buffer does overflow.
-    This avoids a bug on some weirdo WAV (and other) files.
-
-    * src/common.h src/sndfile.c
-    Remove SFE_LOG_OVERRIN error and its associated error message.
-
-    * src/file_io.c
-    Fix a rsrc fork problem on MacOSX.
-
-2004-12-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile-play.c
-    In the ALSA output code, added call to snd_pcm_drain() just before
-    snd_pcm_close() as suggested by Thomas Kaeding.
-    In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
-    SNDCTL_DSP_SYNC) just before the close of the audio device.
-
-    * tests/virtual_io_test.c tests/Makefile.am
-    Add a new test program (currently empty) and add it to the build.
-
-2004-12-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
-      src/create_symbols_file.py
-    Apply patch from Steve Baker which is the beginnings of a virtual
-    I/O interface.
-
-2004-12-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c src/sndfile.h.in
-    Const-ify the write path throughout the library.
-
-2004-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/development.html
-    Minor improvements.
-
-2004-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/bugs.html
-    Minor improvements.
-
-2004-11-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Add workaround for Logic Platinum AIFF files with broken COMT chunks.
-
-2004-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Remove some ambiguities in the SD2 FAQ answer.
-
-2004-11-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
-    Updates from autoconfig versions.
-
-2004-11-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
-    instead of COMT chunk.
-
-2004-11-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c src/common.h
-    Change the ptr argument to psf_write() from "void*" to a "const void*".
-    Thanks to Tobias Gehrig for suggesting this.
-
-2004-10-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c src/common.h
-    Add functions psf_close_rsrc() and read length of resourse fork into
-    rsrclength field of SF_PRIVATE.
-
-    * src/sd2.c
-    Make sure resource fork gets closed.
-
-    * tests/util.tpl
-    Add functions to check for file descriptor leakage.
-
-    * src/write_read_test.tpl
-    Use the file descriptor leak checks.
-
-    * src/sndfile.h.in
-    Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
-
-    * src/common.h
-    Add SF_LOOP_INFO pointer to SF_PRIVATE.
-
-    * src/wav.c src/aiff.c
-    Improve and add parsing of 'ACID' and 'basc' chunks, filling in
-    SF_LOOP_INFO data in SF_PRIVATE.
-
-2004-10-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sd2.c
-    Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
-
-    * Win32/config.h Win32/sndfile.h
-    Updates.
-
-    * tests/util.tpl
-    Add win32 macro for snprintf.
-
-2004-10-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfendian.h
-    Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
-
-    * src/sd2.c
-    Use macros to make sure writing SD2 files on little endian machines works
-    correctly.
-
-    * tests/util.tpl
-    Add a delete_file() function which also deletes the resource fork of SD2
-    files.
-
-    * tests/write_read_test.tpl
-    Use delete_file() so that "make distcheck" works.
-
-2004-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/file_io.c
-    Move resource filename construction and testing to psf_open_rsrc().
-
-    * src/common.h src/sndfile.c
-    Add error SFE_SD2_FD_DISALLOWED.
-
-    * tests/util.tpl tests/*.(c|tpl)
-    Add and allow_fd parameter to test_open_file_or_die() so that use of
-    sf_open_fd() can be avoided when opening SD2 files.
-
-2004-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Update ACID chunk parsing.
-
-    * src/sd2.c
-    More fixes for files with large resource forks.
-
-2004-10-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/sndfile.c
-    Add error numbers and messages for sd2 files.
-
-    * src/sd2.c
-    Reading of sd2 (resource fork version) now seems to be working.
-
-2004-10-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.h
-    Update file_io.c to include win32 psf_rsrc_open().
-
-    * tests/floating_point_test.tpl
-    Remove use of __func__ in test programs (MSVC++ doesn't grok this).
-
-    * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
-    Updates.
-
-2004-10-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfendian.h
-    Fix endswap_int64_t_(array|copy).
-
-    * src/test_endswap.(tpl|def)
-    Add tests for above and inprove all tests.
-
-2004-10-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfendian.h
-    Improve type safety, add endswap_double_array().
-
-    * src/double64.c
-    Use endswap_double_array() instead of endswap_long_array().
-
-    * src/test_endswap.(tpl|def) src/Makefile.am
-    Add preliminary endswap tests and hook into build system.
-
-2004-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/configure.ac src/makefile.am
-    Finally fix the bulding of DLLs on Win32/MinGW.
-
-    * tests/makefile.am
-    Fix running of tests on Win32/MinGW.
-
-2004-10-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
-    Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
-
-    * doc/command.html
-    Document SFC_SET_SCALE_FLOAT_INT_READ.
-
-2004-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/floating_point_test.(tpl|def)
-    Derived from floating_point_test.c.
-    Add (float|double)_(short|int)_test functions.
-
-    * tests/util.(tpl|def)
-    Make separate float and double versions of gen_windowed_sine().
-
-    * tests/write_read_test.tpl
-    Fix after changes to gen_windowed_sine().
-
-    * src/(float32|double64).c
-    Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
-
-2004-09-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * acinclude.m4
-    Fix warnings from automake 1.8 and later.
-
-    * examples/sndfile-info.c
-    Add a "fflush (stdout)" after printing Win32 message.
-
-2004-09-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.mingw.in
-    Add a "make install" target.
-
-2004-09-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
-    Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
-
-2004-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Fix a bug converting stereo integer PCM files to float.
-
-2004-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Appy patch from Conrad Parker to make Mac OSX error messages more
-    consistent and informative.
-
-    * doc/api.html
-    Fix a HTML HREF which was wrong.
-
-    * doc/win32.html
-    Add information about when nmake fails.
-
-2004-09-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Another patch from Denis Cote to prevent race conditions.
-
-2004-09-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/ms_adpcm.c src/ima_adpcm.c
-    Fix alternative to ISO standard flexible struct array feature for broken
-    compilers.
-
-2004-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/string.c src/sndfile.c
-    Make sf_set_string() return an error if trying to set a string when in
-    read mode.
-
-2004-08-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Change the unnamed union into a named union so gcc-2.95 will compile it.
-
-    * src/*.c
-    Fixes to allow for the above change.
-
-2004-08-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Fixes for Win32. Thanks to Denis Cote.
-
-    * Win32/Win32/Makefile.(msvc|mingw.in)
-    Fix build system after removal of sfendian.h.
-    Build sndfile-convert.
-
-    * src/Makefile.am
-    Remove sfendian.c from dependancies.
-
-2004-08-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Fix typo in comments (thanks Tommi Sakari Uimonen).
-
-2004-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/(a|u)law_test.c
-    Minor cleanup.
-
-2004-07-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/(pcm|float|double64|ulaw|alaw|xi).c
-    Optimise read/write loops by removing a redundant variable.
-
-2004-07-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Remove call to fsync() in psf_close().
-
-2004-07-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    Inline x2y_array() functions where possible.
-
-    * configure.ac
-    Detect presence of type int64_t.
-
-    * src/sfendian.c src/sfendian.h
-    Move functions in the first file to the sfendian.h as static inline
-    functions.
-    Improve endswap_long_*() where possible.
-
-2004-07-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    When converting from unsigned char to float or double, subtract 128 before
-    converting to float/double rather than after to save a floating point
-    operation as suggested by Stefan Briesenick.
-
-    * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
-    Optimize inner loops by changing the loop counting slightly as suggested
-    by Stefan Briesenick.
-
-    * configure.ac
-    Detect presence of <byteswap.h>.
-
-    * src/sfendian.h
-    Use <byteswap.h> if present as suggested by Stefan Briesenick.
-
-    * src/pcm.c
-    Update bytewapping.
-
-2004-07-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/*.c
-    Change the psf->buffer field of SF_PRIVATE into a more type safe union with
-    double, float, int etc elements.
-
-2004-06-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Merge slightly modifed patch from Stanko Juzbasic which allows playback of
-    mono files on MacOSX.
-
-2004-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Move copy_metadata() after the second sf_open().
-
-2004-06-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Fix a bug which caused the program to go into an infinite loop if the source
-    file has no meta-data. Thanks to Ron Parker for reporting this.
-
-    * src/sndfile.h.in
-    Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
-
-    * Win32/sndfile.h MacOS9/sndfile.h
-    Update these as per the above file.
-
-2004-06-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
-      src/Makefile.am
-    Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
-    Annodex support via liboggz and libfishsound. Thanks Conrad.
-
-2004-06-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
-    Add cast to size_t for some parameters passed to psf_binheader_writef. This
-    is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
-
-    * src/w64.c
-    Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
-    chunk.
-
-2004-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Bump version to 1.0.10 ready for release.
-
-    * Makefile.am
-    Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
-    from distribution tarball.
-
-    * tests/header_test.tpl
-    Fix uninitialised variable.
-
-    * src/GSM610/short_term.c
-    Fix compiler warning on MSVC++.
-
-2004-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Improve record keeping of chunks seen and return an error if a file with
-    unusual chunks is opened in mode SFM_RDWR.
-
-    * src/mmreg.h
-    This file not needed so remove it.
-
-2004-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/header_test.tpl
-    Add extra_header_test().
-
-    * src/common.h src/sndfile.c
-    Add SFE_RDWR_BAD_HEADER error number and string.
-
-2004-05-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl tests/*.c tests/*.tpl
-    Add a line number argument to check_log_buffer_or_die() and update all
-    files that use that function.
-
-    * tests/header_test.tpl
-    Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
-
-    * src/aiff.c src/wav.c
-    Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
-    SFC_UPDATE_HEADER_AUTO.
-
-    * src/test_file_io.c
-    Add a test for psf_ftruncate() function.
-
-2004-05-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix another  weird corner case bug found by Martin Rumori. Thanks.
-
-    * tests/header_test.(tpl|def)
-    Two new files to test for the absence of the above bug and include tests
-    moved from tests/misc_test.c.
-
-    * tests/Makefile.am
-    Hook new tests into build/test system.
-
-    * tests/misc_test.c
-    Remove update_header_test() which has been moved to the new files above.
-
-2004-05-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fixed a bug reported by Martin Rumori on the LAD list. If a file created
-    with a format of SF_FORMAT_FLOAT and then closed before any data is written
-    to it, the header can get screwed up (PEAK chunk gets overwritten).
-
-    * tests/write_read_test.tpl
-    Add a test (empty_file_test) for the above bug.
-
-2004-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.mingw.in
-    Added a Makefile for MinGW (needs to be processed by configure).
-
-    * src/mmsystem.h src/mmreg.h
-    Add files from the Wine project (under the LGPL) to allow build of
-    sndfile-play.exe under MinGW.
-
-2004-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/GSM610/gsm610_priv.h
-    Replace ugly macros with inline functions.
-
-    * src/GSM610/*.c
-    Remove temporary variables used by macros and other minor fixes required by
-    above change.
-
-2004-05-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
-    Make sure these programs compile (even though they do nothing) on Win32
-    and add them to the "make check" target.
-
-    * src/sfendian.h
-    Fix warning on Sparc CPU and code cleanup.
-
-2004-05-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fix warning messages when compiling under MinGW.
-
-2004-05-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
-    accepts the flexible array struct member as per 1999 ISO C standard.
-
-    * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
-    Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
-    hack for non 1999 ISO C compliant compilers.
-
-2004-04-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/strings.c
-    If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
-    string does not already have libsndfile in the string. Thanks to Conrad
-    Parker.
-
-    * tests/string_test.c
-    Add test to verify the above.
-
-    * examples/sndfile-convert.c
-    Add ability to transcode meta data as well (Conrad Parker).
-
-2004-04-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Fix minor error. Thanks to Simon Burton.
-
-    * doc/win32.html
-    Started adding instructions for compiling libsndfile under MinGW.
-
-    * configure.ac
-    Add --enable-bow-docs to enable black text on a white background HTML docs.
-
-    * doc/libsndfile.css.in
-    This is now a template file for configure which sets the foreground and
-    background colours.
-
-2004-04-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Do some MinGW fixes.
-
-    * configure.ac doc/Makefile.am
-    Install HTML docs when doing make install.
-
-2004-04-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-info.c
-    Print out the dB level with the signal max.
-
-2004-04-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Define S_ISSOCK in src/file_io.c if required.
-
-2004-04-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Improve printout configuration summary (as suggested by Axel Röbel).
-
-    * doc/index.html
-    Add link to pre-release location.
-
-    * src/sndfile.h.in
-    Remove comma after last element of enum.
-
-    * src/float32.c src/double64.c
-    Fix read/write of float/double encoded raw files to/from pipes.
-
-    * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
-    Turn pipe_test.c into an autogenerated file and add tests for reading/
-    writing floats and doubles.
-
-    * tests/Makefile.am
-    Hook tests/pipe_test.* into build system.
-
-2004-04-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac acinclude.m4
-    Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
-
-2004-03-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Perform update_header_test in RDWR mode as well.
-
-    * src/aiff.c
-    Fix problems when updating header in RDWR mode.
-
-2004-03-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/w64.c src/wav_w64.c
-    Integrate code supplied by David Viens for supporting microsoft's
-    WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
-
-    * configure.ac doc/*.html
-    Bump version to 1.0.9.
-
-2004-03-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
-    Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
-
-2004-03-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/avr.c
-    New file to handle Audio Visual Resaerch files.
-
-    * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
-    Hook AVR into everything else.
-
-    * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
-    Add testing for AVR files.
-
-2004-03-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
-    Technologie) for coming up with the solution.
-
-2004-03-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Fixed a bug that was causing valgrind to report a memory leak. The bug was
-    in the test code itself, not the library.
-
-2004-03-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/generate.cs
-    An example showing how to use libsndfile from C#. Thanks to James Robson
-    for providing this.
-
-2004-03-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fix problems with WAV files containing large chunks after the 'data'
-    chunk. Thanks to Koen Tanghe for providing a sample file.
-
-2004-03-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Detect presense of ALSA (Advanced Linux Sound Architecture).
-
-    * examples/sndfile-play.c
-    Add ALSA output support.
-
-    * examples/Makefile.am
-    Add ALSA_LIBS to link line of sndfile-play.c.
-
-2004-03-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * acinclude.m4
-    Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
-    the use of the what is known as the struct hack introduced by the 1999 ISO
-    C Standard.
-
-    * configure.ac
-    The last release would not compile with gcc-2.95 due to the use of features
-    (ie struct hack) introduced by the 1999 ISO C Standard.
-    Add check to make sure compiler handles this and bomb out if it doesn't.
-
-2004-03-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Fix compiler warning on Win32.
-
-    * src/file_io.c
-    Fix use of an un-initialised variable in Win32 stuff.
-
-    * Win32/config.h examples/sndfile-play.c
-    Win32 fixes.
-
-2004-03-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fix bug which occurres when configuring for MinGW.
-    If compiler is gcc and cross compiling use -nostdinc.
-
-2004-03-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
-      src/sndfile.c
-    Fix a bug with PEAK chunk handling for files with more than 16 channels.
-    Thanks to Remy Bruno for finding this.
-
-2004-03-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fix a bug which was preventing WAV files being openned correctly if the
-    file had a very large header. Thanks to Eldad Zack for finding this.
-
-2004-03-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/file_io.c
-    Fix cross-compiling from Linux to Win32 using the MinGW tools.
-
-2004-03-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/create_symbols_file.sh
-    Christian Weisgerber pointed out that the shell script did not run on a
-    real Bourne shell although it did run under Bash in Bourne shell mode.
-
-    * src/create_symbols_file.py
-    Rewrite of above in Python. Also add support for writing Win32 .def files.
-    The Python script generates Symbols.linux, Symbols.darwin and
-    libsndfile.def (Win32 version). These files get shipped with the tarball
-    so there should not be necessary to run the Python script when building
-    the code from the tarball.
-
-    * configure.ac src/Makefile.am Win32/Makefile.am
-    Hook new Python script into the build system.
-
-2004-02-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/configure.ac
-    Add --enable-gcc-werror option and move GCC specific stuff down.
-
-2004-02-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * acinclude.m4 configure.ac
-    Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
-
-    * src/file_io.c
-    Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
-    of missing large file support on Linux and Solaris.
-
-2004-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Fix a MacOSX specific bug which was caused by a space being inserted in
-    the middle of a file name.
-
-    * configure.ac src/Makefile.am examples/Makefile.am
-    Fix a couple of MacOSX build issues.
-
-2004-02-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
-
-2004-02-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/*.html
-    Applied patch from Frank Neumann (author of lakai) which fixes many minor
-    typos in documentation. Thanks Frank.
-
-2004-02-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * ChangeLog
-    Changed my email address throughout source and docs.
-
-2004-02-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Make sure config.h is included before stdio.h to make sure large file
-    support is enabled on Linux (and Solaris).
-
-    * tests/misc_test.c
-    Disable update_header test on Win32. This should work but doesn't and
-    I'm not sure why.
-
-    * Make.bat Win32/Makefile.msvc
-    Updates.
-
-2004-01-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
-    int to int to prevent weird arithmetic bugs.
-
-    * src/common.c src/aiff.c src/wav.c src/w64.c
-    Fixed compiler warnings resulting from above change.
-
-2004-01-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fixed a bug in header reader for some files with data after the sample data.
-
-2003-12-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c tests/Makefile.am
-    Add tests for AIFF/IMA files.
-
-2003-12-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/macbinary3.c src/macos.c
-    Two new files required for handling SD2 files.
-
-    * src/common.h
-    Add prototypes for functions in above two files.
-
-    * src/Makefile.am
-    Hook new files into build system.
-
-2003-12-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add checks for mmap() and getpagesize() which might be used at some time
-    for faster file reads.
-    Add detection of MacOSX.
-
-2003-12-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Minor mods to pkg-config section.
-
-2003-12-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/create_symbols_file.sh
-    Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
-    static symbols are exported causing troubles when trying to link
-    libsndfile with another library which has any of the same symbols.
-    He fixed this by supplying the MacOSX linker with a file containing
-    all the public symbols so that only they would be exported and then
-    supplied a patch for libsndfile.
-    This wasn't quite ideal, because I would have to maintain two (3 if
-    you include Win32) separate files containing the exported symbols.
-    A better solution was to create this script which can generate a
-    Symbols file for Linux, MacoSX and any other OS that supports
-    minimising the number of exported symbols.
-
-    * configure.ac src/Makefile.am
-    Hook the new script into the build process.
-
-2003-12-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Added comments about Steve Dekorte's SoundConverter scam.
-
-2003-12-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Axel Röbel pointed out that on Mac OSX a pipe is not considered a fifo
-    (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
-    true). The test has therefore been changed to is S_ISREG and anything
-    which which does not return true for S_ISREG is considered a pipe.
-
-2003-11-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Fix update_header_test to pass SDS.
-
-    * src/sds.c
-    More minor fixes.
-
-    * tests/floating_point_test.c
-    Add test for SDS files.
-
-    * src/command.c
-    Add SDS to major_formats array.
-
-2003-11-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl tests/misc_test.c
-    Add tests for SDS files.
-
-    * src/sds.c
-    Fix a bug in header update code.
-
-2003-11-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sds.c
-    Get file write working.
-
-    * src/paf.c
-    Fix a potential bug in paf24_seek().
-
-2003-11-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Add Q/A about u-law encoded WAV files.
-
-    * Win32/*.h
-    Updated so it compiles on Win32.
-
-2003-11-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Add -alaw and -ulaw command line arguments.
-
-    * configure.ac
-    Add library versioning comments.
-    Add arguments to AC_INIT.
-
-2003-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Ross Bencina has contributed code to replace all of the (mostly broken)
-    Win32 POSIX emulation calls with calls the native Win32 file I/O API.
-    This code still needs testing but is likely to be a huge improvemnt
-    of support for Win32. Thanks Ross.
-
-2003-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/dwvw.c
-    Removed filedes field from the DWVW_PRIVATE struct.
-
-    * src/file_io.c
-    Change psf_fopen() so it returns psf->error instead of the file descriptor.
-    Add new functions psf_set_stdio() and psf_set_file().
-
-    * src/sndfile.c
-    Change these to work with changed psf_fopen() return value.
-    Remove all uses of psf->filedes from sndfile, making it easier to slot native
-    Win32 API file handling functions.
-
-    * src/test_file_io.c
-    Minor changes to make it compile with new file_io.c stuff.
-
-2003-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/gsm610.h
-    Rename a variable from true to true_flag. As Ross Bencina points out,
-    true is defined in the C99 header <stdbool.h>.
-
-    * src/file_io.c
-    If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
-
-2003-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
-
-    * src/sndfile.c
-    Fix sf_read/write_raw which were dividing by psf->bytwidth and
-    psf->blockwidth which can both be zero.
-
-    * examples/sndfile-info.c
-    Increase size of BUFFER_LEN.
-
-2003-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add checks for <sys/wait.h> and ssize_t.
-    Other Win32/MinGW checks.
-
-    * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
-      src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
-    Fix compiler warnings.
-
-2003-09-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/scale_clip_test.tpl
-    Add definition of M_PI if needed.
-
-2003-09-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Detect if S_IRGRP is declared in <unistd.h>.
-
-    * src/file_io.c tests/*.tpl tests/*.c
-    More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
-    file doesn't declare S_IRGRP.
-
-2003-10-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/config.h.in
-    Add comment stating that the sf_count_t typedef is determined when
-    libsndfile is being compiled.
-
-    * tests/utils.tpl
-    Modified so that utils.c gets one copy of the GPL and not two.
-
-
-2003-09-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/unistd.h src/sf_unistd.h
-    Move first file to the second. This will help for Win32/MSVC++ and MinGW.
-
-    * Win32/Makefile.am src/Makefile.am
-    Changed in line with above.
-
-    * Win32/Makefile.msvc
-    Removed "/I Win32" which is no longer required.
-
-    * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
-    If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
-    work for Win32, MinGW and other fakes Unix-like OSes.
-
-    * src/*.c
-    Removed #include <unistd.h> from files which didn't need it.
-
-2003-09-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * libsndfile.spec.in
-    Apply fix from Andrew Schultz.
-
-2003-09-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/vox_adpcm.c
-    Only set psf->sf.samplerate if the existing value is invalid.
-
-2003-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Started adding support for ALSA output.
-
-2003-09-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Removed <stdlib.h> from sndfile.h.
-
-    * src/*.c examples/*.c tests/*.c tests/*.tpl
-    Added <stdlib.h> where needed.
-
-2003-09-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Added ARRAY_LEN, SF_MAX and SF_MIN macros.
-
-2003-08-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Remove statements about alternative licensing arrangements.
-
-2003-08-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * MacOS MacOS9 Makefile.am configure.ac
-    Change directory name from MacOS to MacOS9
-
-    * MacOS9/MacOS9-readme.txt
-    Change name to make it really obvious, add text to top of file to make it
-    still more obvious again.
-
-2003-08-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_log_printf.c
-    Add tests for %u conversions.
-
-    * src/common.c
-    Fix psf_log_printf() %u conversions.
-
-2003-08-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
-    would over-write part of the header. Thanks to Axel Röbel for pointing
-    this out. Axel also provided a patch to fix this but I came up with a
-    neater and more general solution.
-    Return error when openning an AIFF file with data after the SSND chunk
-    (Thanks Axel Röbel).
-
-    * tests/aiff_rw_test.c
-    Improvements to test program which will later allow it to be generalised to
-    test WAV, SVX and others as required.
-
-2003-08-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pipe_test.c
-    Add useek_pipe_rw_test() submitted by Russell Francis.
-
-    * src/sndfile.c
-    In sf_open_fd(), check if input file descriptor is a pipe.
-
-    * src/sndfile.[ch]
-    Fix typo in variable name do_not_close_descriptor.
-
-2003-08-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_log_printf.c
-    Improve the tests for %d and %s conversions.
-
-    * src/common.c
-    Fixed a few problems in psf_log_printf() found using new tests.
-
-2003-08-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
-    Peter Miller (Aegis author) for suggesting this and supplying a patch.
-
-    * src/*.c examples/*.c tests/*.c
-    Fix all compiler warnings arising from the above.
-
-2003-08-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/aiff_rw_test.c tests/Makefile.am
-    New test program to check for errors re-writing the headers of AIFC files
-    opened in mode SFM_RDWR.
-
-2003-07-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Applied a patch from Tero Pelander to allow this program to run on systems
-    using devfs which used /dev/sound/dsp instead of /dev/dsp.
-
-2003-07-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/new_file_type.HOWTO
-    Updated document. Still incomplete.
-
-2003-06-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
-    than saving it and returning zero.
-
-2003-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Two fixes for Mac OS9.
-    Fix all casts from sf_count_t to ssize_t (not size_t).
-
-2003-06-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fix for reading files with RIFF length of 8 and data length of 0.
-
-2003-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c tests/*.c tests/*.tpl
-    Added comments to mark code for removal when make Lite version of
-    libsndfile.
-
-2003-06-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Add extra error checking for unrecognised arguments.
-
-2003-06-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ima_adpcm.c
-    Started adding code to write IMA ADPCM encoded AIFF files.
-
-    * src/test_log_printf.c src/Makefile.am
-    New file to test psf_log_printf() function and add hooks into build system.
-
-    * src/common.c
-    Move psf_log_printf() function to top of the file and only compile the rest
-    of the file if if PSF_LOG_PRINTF_ONLY is not defined.
-
-2003-06-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/config.h Win32/sndfile.h
-    Updated with new config variables.
-
-    * Win32/unistd.h src/file_io.c
-    Added implementation of S_ISFIFO macro which Win32 seems to lack and is
-    used in src/file_io.c.
-
-    * tests/utils.tpl
-    Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
-    Win32.
-
-    * src/Makefile.msvc
-    Added src\test_file_io.exe build target and run this as the very first
-    test.
-
-    * tests/win32_test.c
-    Add support for testing Cygwin32.
-
-    * configure.ac
-    Detect POSIX fsync() and fdatasync() functions.
-
-    * src/file_io.c
-    If compiling for Cygwin, call fsync() before calling fstat() to retrieve
-    file length.
-
-    * tests/pcm_test.tpl
-    Add a test for lrintf() function. This was required to detect a really
-    broken lrint() and lrintf() on Cygwin.
-
-    * tests/misc_test.c
-    Don't run permission test when compiling under Cygwin.
-
-    * src/float_cast.h
-    Fix fallback macro for lrint() and lrintf() to cast to long instead of int
-    to match official function prototypes.
-
-2003-06-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-convert.c
-    Modifications to improve accuracy of conversions; use double data for
-    floating point and int for everything else.
-
-    * src/ima_apdcm.c
-    Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
-    get encoding working.
-
-2003-05-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/ima_adpcm.c
-    Start working on getting IMA ADPCM encoded AIFF files working.
-
-2003-05-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fixed the touch command for when the autogen program is not found (Matt
-    Flax).
-
-    * src/ulaw.c src/alaw.c
-    Made these pipe-able.
-
-2003-05-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c src/ircam.c
-    Fixed writing to pipe.
-
-    * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
-    Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
-
-2003-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-info.c
-    Modified to detect unknown file lengths.
-
-    * src/mat4.c
-    Fix reading from a pipe.
-
-2003-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pipe_test.c
-    Add more file types to tests.
-
-    * src/mat4.c
-    Removed explicit setting of psf->sf.seekable to SF_TRUE.
-
-    * tests/utils.tpl
-    Add macro for generating and check data in the stdio and pipe tests.
-
-    * tests/stdout_test.c tests/stdin_test.c
-    Use the above macro to generate known data on output and check data on
-    input.
-
-    * src/voc.c src/htk.c common.h sndfile.c
-    Disallow reading/writing VOC and HTK files from/to pipes be returning new
-    error values.
-
-    * src/w64.c
-    Fixes to allow reading from a pipe.
-
-2003-05-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac src/sndfile.h.in
-    When the configure script determines the sizeof (sf_count_t), also set the
-    value of SF_COUNT_MAX in sndfile.h.
-
-    * configure.ac
-    Remove -pedantic flag from default GCC compiler flags.
-
-    * tests/pipe_test.c
-    Add a pipe_read_test() before doing pipe_write_test().
-
-    * tests/scale_clip_test.c
-    Add test to make sure non-normalized values also clip in the right way.
-
-2003-05-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Add test to detect processor clipping capabilities.
-
-    * tests/stdin_test.c tests/stdout_test.c
-    Fix a pair of compiler warnings.
-
-    * src/common.h
-    Add new pipeoffset field to SF_PRIVATE. This will contain the current file
-    offset when operating on a pipe.
-
-    * src/common.c
-    Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
-    psf_binheader_readf and redirect them to new buffered versions
-    header_read(), header_seek() and header_gets().
-    Add "G" format specifier to emulate fgets() functionality with buffering.
-    This will allow reading some file types from pipes.
-
-    * src/file_io.c
-    When the file descriptor is a pipe, manintain psf->pipeoffset.
-
-    * src/pvf.c
-    Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
-
-    * src/au.c
-    Fix reading from a pipe.
-
-2003-05-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    Add clipping versions of the f2XXX_array() functions to allow option of
-    clipping data that would otherwise overflow.
-
-    * tests/scale_clip_test.tpl tests/scale_clip_test.def
-    New files test that clipping option does actually work.
-
-2003-05-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Fixed a typo ("OS(" instead of "OS9").
-
-2003-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/open_fail_test.c
-    Include <string.h> to prevent warning message of missing declaration of
-    memset().
-
-2003-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Add new "add_clipping" field to SF_PRIVATE.
-
-    * src/sndfile.h.in src/sndfile.c
-    Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
-
-2003-05-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Add docs for sf_set_string() and sf_get_string().
-
-    * src/common.h src/sndfile.c
-    Add new SFE_STR_BAD_STRING error.
-
-    * tests/stdin_test.c tests/stdout_test.c
-    Removed all non-error print statements.
-
-    * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
-    Add print statements removed from two files above.
-
-2003-05-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * libsndfile.spec.in
-    Fixed a coulpe of minor errors discovered by someone calling themselves
-    Agent Smith.
-
-    * src/common.c src/common.h src/file_io.h
-    Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
-    function. (Axel Röbel)
-
-    * src/sndfile.c
-    Fixed determination of whether the file is a pipe. (Axel Röbel)
-
-    * src/paf.c
-    Force paf24 to start with undefined mode. (Axel Röbel)
-
-    * tests/pipe_test.c
-    Mods to make this test work and actually do the test on RAW files. (Axel
-    Röbel).
-
-2003-05-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a potential bug where psf->sf.seekable was being set to FALSE when
-    operating on stdin or stdout but then the default initialiser was reseting
-    it to TRUE. Thanks to Axel Röbel.
-
-    * src/aiff.c
-    Fixed a bug in the header parser where it was not handling an odd length
-    COMM chunk correctly. Thanks to Axel Röbel.
-
-    * src/test_file_io.c
-    Add more tests.
-
-    * tests/win32_test.c
-    New file for showing the bugs in the Win32 implementation of the POSIX API.
-    It also runs on Linux for sanity checking.
-
-    * tests/Makefile.am Win32/Makefile.msvc
-    Hook the new test program into the build system.
-
-2003-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/test_file_io.c
-    New test program to test operation of functions defined in file_io.c. This
-    should make supporting win32 significantly easier.
-
-    * src/Makefile.am
-    Hook new test program into the build system.
-
-    * src/file_io.c
-    Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
-    the same.
-
-    * src/common.h src/sndfile.c
-    Added new error code and error message for new check.
-
-    * tests/benchmark.tpl
-    Fix to use frames instead of samples in SF_INFO.
-
-2003-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
-
-    * examples/sndfile-info.c
-    Applied patch from Conrad Parker to add "--help" and "-h" options as
-    well as an improved usage message.
-
-2003-05-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c
-    Added embedded file support.
-
-    * tests/multi_file_test.c
-    Added tests for embedded AU files.
-    Added verbose testing mode.
-
-    * src/common.h src/sndfile.c
-    Added an embedded AU specific error code and message.
-
-    * src/wav.c
-    Added patch from Conrad Parker which filled in a little more information
-    about ACIDized WAV files.
-
-2003-04-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
-    which was in turn calling psf_fseek() which in the end blew the stack.
-    Now of course this would have been easy to find on Linux, but this blow
-    up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
-    figure out what call caused this (it couldn't even tell me the stack had
-    overflowed) and was absolutley useless for this debugging exercise.
-    On top of that, the reason I got into this mess was that windoze doesn't
-    have a working fstat() function which can return file lengths > 2 Gig. It
-    HAS a fscking _fstati64() but the file length value is only updated AFTER
-    the bloody file is closed. That makes it completely useless.
-    How the hell do people stand working on this crap excuse of an OS?
-
-2003-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/unistd.h src/file_io.c
-    Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
-    can be used in the test programs.
-
-    * Win32/libsndfile.def
-    Added sf_open_fd.
-
-    * Win32/sndfile.h
-    Updated to match src/sndfile.h.in.
-
-    * Win32/Makefile.msvc
-    Added dither.c and htk.c to libsndfile.dll target.
-
-2003-04-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    First attempt at getting the Win32 versions of the these functions working.
-    They still need to be tested.
-
-2003-04-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/strings.c
-    Found and fixed a bug which was causing psf_store_string() to fail on
-    Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
-    of libsndfile) for compiling and running debug code to help me debug the
-    problem.
-
-2003-04-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
-    Much hacking to get reading and writing of embedded files working (ie sound
-    files at a non-zero files offset).
-
-    * doc/embedded_files.html
-    First pass atempt at documenting reading/writing embedded files.
-
-2003-04-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
-
-2003-04-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/aiff.c
-    Fix retrieving and storing of string data from files. Need to be careful
-    about using psf->buffer for strings.
-
-2003-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Fix psf_fseek() for seeks withing embedded files.
-
-2003-04-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Changed the definition of SNDFILE slightly to produce warnings when it isn't
-    used correctly. This should have zero affect in code which uses the SNDFILE
-    type correctly.
-
-    * src/sndfile.c
-    Fixed a few compiler warnings cause by the changes to the SNDFILE type.
-
-2003-04-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Added question and answer to the question "How about adding the ability
-    to write/read sound files to/from memory buffers?".
-
-2003-04-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Removed un-needed enums declaring TRUE and FALSE and replaced usage of
-    these with SF_TRUE and SF_FALSE.
-
-    * tests/multi_file_test.c
-    New test program to test sf_open_fd() on files containing data other than
-    a single sound file.
-
-2003-04-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    When creating files, set the readable by others flag. This still allows
-    further restrictions to be enforced by use of the user's umask. Fix
-    suggested by Eric Lyon.
-
-2003-04-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c
-    Changed sf_open_fd(). Dropped offset parameter and added a close_desc
-    parameter. If close desc is TRUE, the file descritpor passed into the
-    library will be closed when sf_close() is called.
-
-    * tests/utils.tpl
-    Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
-
-2003-04-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Add a string (using sf_set_string() function) before and after data section
-    of all files. This will make sure that if string data can be added, it
-    doesn't overwrite real audio data.
-
-2003-04-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Started work on supporting a non-zero offset parameter for sf_open_fd ().
-
-    * src/<file header parsers>.c
-    Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
-    sf_open_fd() with non-zero offset.
-    Associated refactoring.
-
-    * src/aiff.c
-    Implemented functionality required to get sf_get_string() and
-    sf_set_string() working for AIFF files.
-
-2003-04-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl
-    Modified test_open_file_or_die() to alternately use sf_open() and
-    sf_open_fd().
-
-    * src/svx.c
-    Fixed a bug which occurred when openning an existing file for read/write
-    using sf_open_fd(). In this case, the existing NAME chunk needs to be
-    read into psf->filename.
-    Fixed printing of sf_count_t types to logbuffer.
-
-2003-03-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Added prototype for new function sf_open_fd().
-
-    * src/sndfile.c
-    Moved most of the code in sf_open() to a new function psf_open_file().
-    Created new function sf_open_fd() which also uses psf_open_file() but
-    does not currently support the offset parameter.
-
-    * doc/api.html
-    Document sf_open_fd().
-
-2003-03-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
-    when an attempt was made to read and the open() call fails.
-
-2003-03-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/open_fail_test.c
-    New test program to check for memory leaks when sf_open fails on a valid
-    file. Currently this must be run manually under valgrid.
-
-    * tests/Makefile.am
-    Hook new test program into build.
-
-2003-03-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Octave/sndfile_save.m Octave/sndfile_play.m
-    Added a -mat-binary option to the octave save command to force the output
-    to binary mode even if the user has set ascii data as the default. Found
-    by Christopher Moore.
-
-2003-02-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/dither.html
-    New file which will document the interface which allows the addition of
-    audio dither when sample word sizes are being reduced.
-
-    * src/dither.c
-    More work.
-
-2003-02-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    In update_header_test(), make HTK files a special case.
-
-    * doc/index.html
-    Added HTK to the feature matrix.
-
-2003-02-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/htk.c
-    New file for reading/writing HMM Tool Kit files.
-
-    * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
-    Hook in htk.c
-
-    * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
-    Add tests for HTK files.
-
-2003-02-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed a bug where the LIST chunk length was being written incorrectly.
-
-    * tests/string_test.c
-    Added call to check_log_buffer().
-    Minor cleanups.
-
-2003-02-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_w64.h
-    Applied patch from Antoine Mathys to add extra WAV format definitions and
-    a G72x_ADPCM_WAV_FMT struct definition.
-
-    * src/wav_w64.c
-    Applied patch from Antoine Mathys which converts wav_w64_format_str() from
-    one huge inefficient switch statement to a binary search.
-
-    * tests/string_test.c
-    Dump log buffer if tests fail.
-
-2003-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/string_test.c
-    David Viens supplied some modifications to this file which showed up a bug
-    when using sf_set_string() and the sf_writef_float() functions.
-
-    * src/sndfile.c
-    Fixed the above bug.
-
-2003-02-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Added Q and A on how to detect libsndfile in configure.in (at the suggestion
-    of Davy Durham).
-
-2003-02-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Add enums and typedefs for dither.
-    Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
-    replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
-    allow different dither algorithms to be enabled.
-    Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
-
-    * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
-    Added public sf_dither_*() functions.
-
-    * src/sndfile.c
-    Implement commands above.
-
-    * src/dither.c
-    More work. Framework and external hooks into dither algorithms complete.
-
-2003-02-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/version-1.html libsndfile_version_convert.py
-    Remove redundant files.
-
-    * doc/index.html doc/api.html
-    Remove links to version-1.html.
-
-    * src/dither.c
-    New file to allow the addition of audio dither on input and output.
-
-    * src/common.h
-    Add prototype for dither_init() function.
-
-    * Makefile.am doc/Makefile.am
-    Changes for added and removed files.
-
-2003-02-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.msvc
-    Changes to force example binaries to be placed in the top level directory
-    instead of the examples/ directory.
-    Add src/strings.c and src/xi.c to the build.
-    Add string_test to build and to tests on WAV files.
-
-    * doc/index.html
-    Added XI to support matrix.
-
-2003-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
-    enum values.
-
-    * src/sndfile.c
-    Added public interface to sf_get_string() and sf_set_string().
-
-    * src/wav.c
-    Added code for setting and getting strings in WAV files.
-
-    * tests/string_test.c
-    New test program for sf_get_string() and sf_set_string() functionality.
-
-    * tests/Makefile.am
-    Hook new test program into build and test framework.
-
-2003-01-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Added fields to SF_PRIVATE for string data needed to implement
-    sf_get_string() and sf_set_string().
-
-    * src/strings.c
-    New file for storing and retrieving strings to/from files.
-
-    * src/Makefile.am
-    Added strings.c to build.
-
-2003-01-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/xi.c
-    Read seems to be working so looking at write.
-
-    * src/sndfile.h.in
-    Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
-
-    * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
-    Added test for 8 and 16 bit XI format files.
-
-2003-01-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Added a non-lawyer readable summary of the licensing provisions as
-    suggested by Steve Dekorte.
-
-2003-01-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed a compiler warning found by Alexander Lerch.
-
-2003-01-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Fixed the multiple linking of libm.
-
-2003-01-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.mcvs
-    Added comments on the correct way to set up the MSVCDir environment
-    variable.
-
-    * doc/win32.html
-    Add on how to set up the MSVCDir environment variable.
-
-2003-01-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c examples/sndfile-info.c
-    When run on Win32 without any command line parameters print a message and
-    then sleep for 5 seconds. This means the when somebody double clicks on
-    these programs in explorer the user will actually see the message.
-
-2003-01-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Bypass permission test if running as root because root is allowed to open
-    a readonly file for write.
-
-2003-01-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/Makefile.msvc
-    Added pvf.c and xi.c source files to project.
-
-    * src/sndfile.h
-    Updated for PVF files.
-
-2003-01-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Modified validate_sfinfo() to force samplerate, channels and sections
-    to be >= 1.
-    In format_from_extension() replaced calls to does_extension_match()
-    with strcmp().
-
-    * src/xi.c
-    More work.
-
-2003-01-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/Makefile.am
-    Added octave.html which had been left out. Found by Jan Weil.
-
-2003-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pvf.c src/common.h src/sndfile.c
-    Fixed error handling for PVF files.
-
-    * src/xi.c
-    New file for handling Fasttracker 2 Extended Instrument files. Not working
-    yet and included when configured with --enable-experimental.
-
-    * src/sndfile.c src/common.h
-    Hooked in new file xi.c.
-
-2002-12-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/rx2.c
-    Added a patch from Marek Peteraj which sheds a little more light on the
-    slices within an RX2 file. Still need to find out data encoding.
-
-2002-12-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Started work on decoding 'acid' and 'strc' chunks.
-
-2002-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/peak_check_test.c
-    Minor cleanup.
-
-2002-12-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl
-    Added check to make sure no error was generated when an attempt was made to
-    read past the end of the file.
-
-2002-12-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/lists.html
-    Added "mailto" links for all three lists.
-
-    * src/pvf.c
-    New file for Portable Voice Format files.
-
-    * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
-    Added hooks for SF_FORMAT_PVF format files.
-
-    * tests/write_read_test.tpl tests/std*.c
-    Add tests for SF_FORMAT_PVF.
-
-    * doc/index.html
-    Add PVF to the compatibility matrix.
-
-    * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
-    Previously, attempts to read beyond the end of a file would set psf->error
-    to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
-    read() call but has now been fixed.
-    Attempts to read beyond the end of the file will return a short read count
-    but will not longer set any error.
-
-2002-12-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Add more sanity checking when opening a RAW file for read. When format is
-    not RAW, zero out all members of the SF_INFO struct.
-
-    * tests/raw_test.c
-    Add bad_raw_test() to check for above problem.
-
-    * tests/stdin_test.c examples/sndfile-info.c
-    Set the format field of the SF_INFO struct to zero before calling
-    sf_open().
-
-    * doc/api.html
-    Add information about the need to set the format field of the SF_INFO struct
-    to zero when opening non-RAW files for read.
-
-    * configure.ac
-    Removed use of conversion script on Solaris. Not all Solaris versions
-    support it.
-
-    * doc/lists.html
-    New file containg details of the mailing lists.
-
-    * doc/index.html
-    Add a link to the above new file.
-
-2002-12-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/dft_cmp.c
-    Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
-    for providing the gdb traceback.
-
-2002-11-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Added more capabilities to 'smpl' chunk parser.
-
-    * src/sndfile.c
-    Fixed some (not all) possible problems found with Flawfinder.
-
-2002-11-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a bug in sf_seek(). This bug could only occur when an attempt was
-    made to read beyond the end and then sf_seek() was called with a whence
-    parameter of SEEK_CUR.
-
-    * src/file_io.c
-    Win32's _fstati64() does not work, it returns BS. Re-implemented
-    psf_get_filelen() in terms of psf_fseek().
-
-    * tests/write_read_test.tpl
-    Add a test to detect above bug.
-
-    * src/float_cast.h
-    Modification to prevent compiler warnings on Mac OS X.
-
-    * src/file_io.c
-    Fixes for windows (what a f**ked OS).
-
-2002-11-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.ac
-    Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
-    Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
-    src/float_cast.h means that a library compiled on 10.2 will still work on
-    10.1.
-
-2002-11-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in configure.ac
-    Renamed configure.in to configure.ac as expected by later versions of
-    autoconf.
-    Slight hacking of configure.ac to work with version 2.54 of autoconf.
-    Changed to using -dumpversion instead of --version for determining GCC
-    version numer as suggested by Anand Kumria.
-
-    * src/G72x/Makefile.am
-    Slight hacking required for operation with automake 1.6.3.
-
-2002-11-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    In psf_binheader_readf() changed type parameter type "b" type from size_t
-    to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
-    Thanks to Enrique Robledo Arnuncio for debugging this.
-
-2002-11-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * test/command_test.tpl
-    Changed test value so test would pass on Solaris.
-
-    * src/Version_script.in
-    Modified version numbering so that later versions of 1.0.X can replace
-    earlier versions without recompilation.
-
-    * src/vox_adpcm.c
-    Fixed bug causing short reads.
-
-2002-11-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * test/floating_point_test.c
-    Code cleanup using functions from util.c.
-    Add test for IEEE replacement floats and doubles.
-
-2002-11-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
-    Serg Repalov for the example file.
-
-    * tests/pcm_test.tpl
-    Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
-    Clean up pcm_double_test().
-
-    * src/float32.c src/double64.c
-    Force use of IEEE replacement code using psf->ieee_replace is TRUE,
-    Print message to log_buffer as well.
-    Rename all broken_read_* and broken_write* functions to replace_read_* and
-    replace_write_*.
-
-    * tests/util.tpl
-    Added string_in_log_buffer().
-
-    * tests/pcm_test.tpl
-    Use string_in_log_buffer() to ensure that IEEE replacement code has been
-    used.
-
-    * configure.in
-    Removed --enable-force-broken-float option. IEEE replacement code is now
-    always tested.
-
-2002-10-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/double64.c
-    Implement code for read/writing IEEE doubles on platforms where the native
-    double format is not IEEE.
-
-    * src/float32.c src/common.h
-    Remove float32_read() and float32_write(). Replace with float32_le_read(),
-    float32_be_read(), float32_le_write() and float32_be_write() to match stuff
-    in src/double64.c.
-
-    * src/common.c
-    Fix all usage of float32_write().
-
-    * src/sndfile.h.in
-    Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
-
-    * src/common.h
-    Added SF_PRIVATE field ieee_replace.
-
-    * src/sndfile.c
-    In sf_command() set/reset psf->ieee_replace.
-
-2002-10-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pcm_test.tpl
-    Fixed a problem when testing with --enable-force-broken-float. The test was
-    generating a value of negative zero and the broken float code is not able
-    to write negative zero. Removing the negative zero fixed the test.
-
-2002-10-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Added fix for Cygwin (suggested by Maros Michalik).
-
-2002-10-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Improved error detection and handling.
-
-    * src/file_io.c src/common.h
-    Removed functions psf_ferror() and psf_clearerr() which were redundant
-    after above improvements.
-
-    * src/aiff.c src/svx.c src/w64.c src/wav.c
-    Removed all use of psf_ferror() and psf_clearerr().
-
-    * src/sndfile.c
-    Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
-    are no longer needed.
-
-    * tests/misc_test.c
-    Added test to make sure the correct error message is returned with an
-    existing read-only file is openned for write.
-
-2002-10-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html doc/api.html
-    Updated for OKI Dialogic ADPCM files.
-
-    * src/command.c
-    Added VOX ADPCM to sub_fomats.
-
-2002-10-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/vox_adpcm.c src/Makefile.am
-    New file for handling OKI Dialogic ADPCM files.
-
-    * src/sndfile.h
-    Add new subtype SF_FORMAT_VOX_ADPCM.
-
-    * src/sndfile.c
-    Renamed function is_au_snd_file () to format_from_extenstion () and expanded
-    its functionality to detect headerless VOX files.
-
-    * src/raw.c
-    Added hooks for SF_FORMAT_VOX_ADPCM.
-
-    * examples/sndfile-info.c
-    Print out file duration (suggested by Conrad Parker).
-
-    * libsndfile.spec.in
-    Force installation of sndfile.pc file (found by John Thompson).
-
-    * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
-    Add tests for SF_FORMAT_VOX_ADPCM.
-
-2002-10-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Add test which attempts to write to /dev/full (on Linux anyway) to check
-    for correct handling of writing to a full filesystem.
-
-    * src/sndfile.c
-    Return correct error message if the header cannot be written because the
-    filesystem is full.
-
-    * tests/util.tpl
-    Corrected printing of file mode in error reporting.
-
-    * src/mat5.c
-    Fixed a bug where a MAT5 file written by libsndfile could not be opened by
-    Octave 2.1.36.
-
-2002-10-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/file_io.c
-    All low level file I/O have been modified to be better able to report
-    system errors resulting from calling system level open/read/write etc.
-
-    * src/*.c
-    Updated for compatibility with above changes.
-
-    * examples/cooledit-fixer.c
-    New example program which fixes badly broken file created by Syntrillium's
-    Cooledit which are marked as containing PCM samples but actually contain
-    floating point data.
-
-    * examples/Makefile.am
-    Hooked cooledit-fixer into the build system.
-
-2002-10-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Document SFC_GET_FORMAT_INFO.
-
-2002-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
-        examples/sfdump.c
-    Removed these files because they weren't interesting.
-
-    * examples/sfconvert.c examples/sndfile-convert.c
-    Renamed the first to the latter.
-
-    * examples/Makefile.am
-    Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
-    is installed.
-    Removed old programs wav32_aiff24 and sndfile2oct.
-
-    * man/sndfile-convert.1
-    New man page.
-
-    * examples/sndfile-convert.c
-    Added some gloss now that sndfile-convert.c is an installed program.
-
-    * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
-    Added command SFC_GET_FORMAT_INFO.
-
-    * tests/command_test.c
-    Added tests form SFC_GET_FORMAT_INFO.
-
-2002-10-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    In sf_format_check() return error if samplerate < 0.
-
-2002-10-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
-    encoding string.
-
-2002-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed repeated word in an error message.
-
-2002-10-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Improved advertising in Features section.
-
-2002-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Added decoding of 'labl' chunks within 'LIST' chunks.
-
-    * src/common.h
-    Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
-    of ogg_open(). This is nowhere near working yet.
-
-    * src/sndfile.c
-    Added detection of 'OggS' file marker and added call to ogg_open() to
-    switch statement.
-
-    * src/ogg.c
-    New file. Very early start of Ogg Vorbis support.
-
-    * src/wav.c
-    Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
-    type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
-    a block alignment of 4 times the numbers of channels but are in fact 32 bit
-    floating point.
-
-2002-10-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
-    config.h to either 0 or 1.
-
-    * src/sndfile.c
-    Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
-    string if experimental code has been enabled.
-
-2002-10-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/Makefile.am
-    Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
-    in the link line when linking something to libsndfile.
-
-    * tests/Makefile.am examples/Makefile.am
-    Removed -lm from all link lines.
-
-    * sndfile.pc.in
-    Removed -lm from Libs line.
-
-2002-09-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Removed all perror() calls.
-
-    * src/nist.c
-    Removed calls to exit() function.
-    Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
-    conversion process.
-
-2002-09-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c
-    New function sf_strerror() which will eventually replace functions
-    sf_perror() and sf_error_str().
-    Function sf_error_number() has also been changed, but this was documented
-    as being for testing only.
-
-    * doc/api.html
-    Documented above changes.
-
-    * tests/*.c examples/*.c
-    Changed to new error functions.
-
-2002-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Detect GCC version, and print a warning message about writeable strings
-    it GCC major version number is less than 3.
-
-2002-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in doc/api.html
-    Documentation fixes.
-
-2002-09-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/Version_script.in src/Makefile.am configure.in
-    Use the version script to prevent the exporting of all non public symbols.
-    This currently only works with Linux. Will test on Solaris as well.
-
-    * src/float_cast.h
-    Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
-    compiler.
-
-    * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
-        src/ms_adpcm.c
-    Fix benign compiler warnings arising from previously added compiler
-    flags.
-
-2002-09-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a bug in sf_error_str() where errnum was used as the index instead
-    of k. Found by Tim Hockin.
-
-    * examples/sndfile-play.c
-    Fixed a compiler warning resulting from a variable shadowing a previously
-    defined local.
-
-2002-09-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in src/sndfile.c
-    Added command SFC_SET_RAW_START_OFFSET.
-
-    * doc/command.html
-    Document SFC_SET_RAW_START_OFFSET.
-
-    * tests/raw_test.c tests/Makefile.am
-    Add new file for for testing SF_FORMAT_RAW specific functionality.
-
-    * tests/dwvw_test.c
-    Updates.
-
-2002-09-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Modified reading of 'smpl' chunk to take account of the sampler data field.
-
-    * tests/utils.tpl tests/utils.h
-    Added function print_test_name().
-
-    * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
-        tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
-    Convert to use function print_test_name().
-
-2002-09-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/octave.html
-    Added a link to some other Octave scripts for reading and writing sound
-    files.
-
-    * src/paf.c
-    Change type of dummy data field to int. This should fix a benign compiler
-    warning on some CPUs.
-    Removed superfluous casts resulting from the above change.
-
-    * src/rx2.c
-    More hacking.
-
-2002-09-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/mat5.c src/common.c
-    Changed usage of snprintf() to LSF_SNPRINTF().
-
-    * Win32/Makefile.msvc
-    Updated to include new files and add new tests.
-
-    * Win32/config.h Win32/sndfile.h
-    Updated.
-
-    * doc/api.html
-    Added note about the possibility of "missing" features actually being
-    implemented as an sf_command().
-
-2002-09-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/misc_test.c
-    Added previously missing update_header_test and zero_data_tests for PAF,
-    MAT4 and MAT5 formats.
-
-    * src/paf.c src/mat4.c src/mat5.c
-    Fixed bugs uncovered by new tests above.
-
-    * src/mat5.c
-    Generalised parsing of name fields of MAT5 files.
-
-    * src/mat5.c src/sndfile.c
-    Added support for unsigned 8 bit PCM MAT5 files.
-
-    * tests/write_read_test.tpl
-    Added test for unsigned 8 bit PCM MAT5 files.
-
-    * doc/index.html
-    Added unsigned 8 bit PCM MAT5 to capabilities matrix.
-
-2002-09-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * test/update_header_test.c tests/misc_test.c
-    Renamed update_header_test.c to misc_test.c.
-    Added zero_data_test() to check for case where file is opened for write and
-    closed immediately. The resulting file can be left in a state where
-    libsndfile cannot open it. Problem reported by Werner Schweer, the author
-    of Muse.
-
-    * src/aiff.c
-    Removed superfluous cast.
-
-    * src/wav.c src/svx.c
-    Fixed case of file generated with no data.
-    Removed superfluous cast.
-
-    * src/sndfile.c
-    Fixed error on IA64 platform caused by incorrect termination of
-    SndfileErrors struct array. This problem was found in the Debian buildd
-    logs (http://buildd.debian.org/).
-
-    * configure.in
-    Added Octave directory.
-
-    * Octave/Makefile.ma
-    New Makfile.am for Octave directory.
-
-    * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
-    New files for working with Octave.
-
-    * doc/octave.html
-    Document explaining the use of the above three Octave scripts.
-
-2002-09-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed bug in RDWR mode.
-
-2002-09-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fixed psf_get_date_str() for systems which don't have gmtime_r() or
-    gmtime().
-
-    * src/file_io.c
-    Added #include <io.h> for Win32. Reported by Koen Tanghe.
-
-2002-09-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Added 'S' format specifier for psf_binheader_writef() which writes a C
-    string, including single null terminator to the header.
-    Added 'j' format specifier to allow jumping forwards or backwards in the
-    header.
-    Added function psf_get_date_str().
-
-    * src/mat5.c
-    Complete read and write support.
-
-    * doc/index.html
-    Added entries for MAT4 and MAT5 in capabilities matrix.
-
-2002-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/mat4.c
-    Completed read and write support.
-
-    * src/common.h src/sndfile.c
-    Added MAT4 and MAT5 specific error messages.
-
-    * tests/write_read_test.tpl tests/Makefile.am
-    Added tests for MAT4 and MAT5 files.
-
-    * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
-    Added tests for MAT4 and MAT5 files.
-
-2002-09-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c
-    Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
-    array.
-
-    * examples/sfconvert.c
-    Added mat4 and mat5 output targets.
-
-2002-09-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Added check to prevent errors openning read only formats for read/write.
-
-    * src/interleave.c
-    New file for interleaving non-interleaved data. Non-interleaved data is
-    only supported on read.
-
-    * src/Makefile.am
-    Added src/interleave.c to build.
-
-2002-09-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/double64.c src/common.h
-    Added double64_be_read(), double64_le_read(), double64_be_write() and
-    double64_le_write() which replace double64_read() and double64_write().
-
-    * src/common.c
-    Cleanup of psf_binheader_readf() and add ability to read big and little
-    endian doubles (required by mat4.c and mat5.c).
-    Add ability for psf_binheader_writef() to write doubles to sound file
-    headers.
-
-2002-09-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/mat5.c
-    New file for reading Matlab (tm) version 5 data files. This is also the
-    native binary file format for version 2.1.X of GNU Octave which will be
-    used for testing.
-    Not complete yet.
-
-    * src/mat4.c
-    New file for reading Matlab (tm) version 4.2 data files. This is also the
-    native binary file format for version 2.0.X of GNU Octave which will be
-    used for testing.
-    Not complete yet.
-
-    * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
-    Mods to add Matlab files.
-
-    * src/common.[ch]
-    Added readf_endian field to SF_PRIVATE struct allowing endianness to
-    remembered across calls to sf_binheader_readf().
-    Fixed bug in width_specifier behaviour for printing hex values.
-
-2002-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Check return value of close() call in psf_fclose().
-
-2002-08-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ms_adpcm.c
-    Commented out some code where 0x10000 was being subtracted from a short
-    and the result assigned to a short again. Andrew Zaja found this.
-
-2002-08-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Fixed typo found by Tommi Ilmonen.
-
-    * src/ima_adpcm.c
-    Changed type of diff from short to int to prevent errors which can occur
-    during very rare circumstances. Thanks to FUWAFUWA.
-
-2002-08-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/floating_point_test.c
-    Disable testing on machines without lrintf().
-
-    * Win32/Makefile.msvc
-    Added dwd.c and wve.c to build.
-
-    * configure.in
-    Bumped version to 1.0.0.
-
-2002-08-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Add a #include for Mac OS 9. Thanks to Stephane Letz.
-
-    * src/wav.c
-    Changed an snprintf to LSF_SNPRINTF.
-
-    * doc/Makefile.am
-    Added version-1.html.
-
-2002-08-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Bumped version to 1.0.rc6.
-
-    * src/*.c
-    Modified scaling of normalised floats and doubles to integers. Until now
-    this has been done by multiplying by 0x8000 for short output, 0x80000000
-    for 32 bit ints and so on. Unfortunately this can cause an overflow and
-    wrap around in the target value. All thes values have therefore been
-    reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
-    normalised floats and doubles remains unchanged. This does mean that for
-    repeated conversions normalised float -> pcm16 -> normalised float would
-    result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
-    This is undesirable but less undesireable than the wrap around I am trying
-    to avoid.
-
-    * tests/floating_point_test.c
-    Removed file hash checking because new float scaling procedure introduced
-    above prevented the ability to crate a has on both x86 and PowerPC systems.
-
-2002-08-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/txw.c
-    Completed reading of TXW files. Seek doesn't work yet.
-
-    * src/file_io.c
-    Added a MacOS 9 replacement for ftruncate().
-
-    * MacOS/sndfile.h
-    Added MacOS 9 header file. This should be copied into src/ to compile
-    libsndfile for MacOS9.
-
-2002-08-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
-    values after being set. Reported by Jussi Laako.
-
-    * configure.in
-    If autogen is not found, touch all .c and .h files in tests/.
-
-    * src/common.c
-    Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
-
-    * src/dwd.c
-    Completed implementation of read only access to these files.
-
-    * src/common.h src/*.c src/pcm.c
-    Removed redundant field chars from SF_PRIVATE struct and modified
-    pcm_init() to do without it.
-
-2002-08-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wve.c
-    New file implementing read of Psion Alaw files. This will be a read only
-    format. Implementation complete.
-
-    * src/dwd/c
-    Started implementation of DiamondWare Digitized files. Also read only, not
-    complete.
-
-    * src/wav.c
-    Add parsing of 'smpl' chunk.
-
-    * src/paf.c
-    Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
-    This brings it into line with the reading of 8 bit files into
-    un-normalized doubles which returns values in the range [-128, 127].
-
-    * src/common.c
-    Modified psf_log_printf() to accept the %% conversion specifier to allow
-    printing of a single '%'.
-
-    * src/sds.c
-    Read only of 16 bit samples is working. Need to build a test harness for
-    this and other read only formats.
-
-2002-08-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Added --enable-experimental configure option.
-    Removed pkg-config message at the end of the configure process.
-
-    * src/sds.c src/txw.c src/rx2.c src/sd2.c
-    Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
-    blocks and added new *_open() function for the case where experimental is
-    not enabled. These new functions just return SFE_UNIMPLMENTED.
-
-    * Win32/sndfile.h src/sndfile.h.in src/common.h
-    Removed un-necessary #pragma pack commands.
-
-    * src/file_io.c
-    Implemented psf_ftruncate() and much other hacking for Win32.
-
-    * Win32/Makefile.msvc
-    Updated.
-
-    * doc/win32.html
-    Updated to include the copying of the sndfile.h file from the Win32/
-    directory to the src/ directory.
-
-    * Make.bat
-    Batch file to make compiling on Wi32 a little easier. Implements "make" and
-    "make check".
-
-2002-08-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
-    This will need to be fixed later.
-
-    * src/sndfile.h.in
-    New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
-    replaced by the correct type during configure.
-
-    * configure.in
-    Modified to find a good type for TYPEOF_SF_COUNT_T.
-
-    * src/aiff.c
-    Fixed a bug when reading malformed headers.
-
-    * src/common.c
-    Set read values to zero before performing read.
-
-2002-08-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Fixed some HTML tags which were not allowing jumps to links within the
-    page.
-
-    * src/sds.c
-    Massive hacking on this.
-
-    * src/wav.c
-    Added recognition of 'clm ' tag.
-
-2002-08-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Added beginning of a capabilities list beyond simple file formats which
-    can be read/written.
-
-    * src/aiff.c
-    Added parsing of INST and MARK chunks of AIFF files. At the moment this
-    data is simply recorded in the log buffer. Later it will be possible to
-    read this data from an application using sf_command().
-
-    * src/wav.c
-    Added parsing of 'cue ' chunk which contains loop information in WAV files.
-
-    * exampes/sndfile-info.c
-    Changed reporting of Samples to Frames.
-
-    * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
-    Moved from a samples to a frames nomenclature to avoid confusion.
-
-    * doc/FAQ.html
-    What's the best format for storing temporary files?
-
-    * src/sds.c
-    New file for reading/writing Midi Sample Dump Standard files.
-
-    * src/Makefile.am src/sndfile.c src/common.[ch]
-    Added hooks for sds.c.
-
-    * examples/sndfile-info.c
-    Changed from using sf_perror() to using sf_error_str().
-
-2002-08-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Added explanation of mode parameter for sf_open().
-    Added explanation of usage of SFM_* values in sf_seek().
-
-    * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
-    Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
-    truncation was suggested by James McCartney.
-
-    * src/command.html
-    Documented SFC_FILE_TRUNCATE.
-
-    * tests/command_test.c
-    Add tests for SFC_FILE_TRUNCATE.
-
-    * src/sndfile.c
-    Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
-    make resetting the error number optional. All uses of the macro other than
-    in error reporting functions were changed to reset the error number.
-
-    * src/pcm.c
-    Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
-    occurred.
-
-    * tests/write_read_test.tpl
-    Added tests of internal error state.
-
-2002-08-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
-    Renamed private.h to gsm610_priv.h to prevent clash with other headers
-    named private.h in other directories. (Probably only a problem on MacOS 9).
-
-    * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
-    Renamed private.h to g72x_priv.h to prevent clash with other headers
-    named private.h in other directories. (Probably only a problem on MacOS 9).
-
-    * MacOS/config.h
-    Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
-    float_cash.h.
-
-    * src/sndfile.h
-    Changes the name of samples field of the SF_INFO to frames. The old name
-    had caused too much confusion and it simply had to be changed. There will
-    be at least one more pre-release.
-
-2002-08-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/index.html
-    Updated formats matrix to include RAW (header-less) GSM 6.10.
-    Fix specificaltion of table and spelling mistakes.
-
-    * src/sndfile.c src/command.c
-    Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
-
-    * tests/command.c
-    Removed cruft.
-    Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
-
-    * configure.in
-    Update version to 1.0.0rc5.
-
-    * sfendian.h
-    Removed inclusion of un-necessary header.
-
-2002-08-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Minor fixes of info written to log buffer.
-
-    * src/float_cast.h
-    Add definition of HAVE_LRINT_REPLACEMENT.
-
-    * tests/floating_point_test.c
-    Fix file hash check on systems without lrint/lrintf.
-
-    * tests/dft_cmp.c
-    Limit SNR to less than -500.0dB.
-
-    * examples/sndfile2oct.c
-    Fixed compiler warnings.
-
-    * doc/api.html
-    Fixed error where last parameter of sf_error_str() was sf_count_t instead
-    of size_t.
-
-2002-08-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    Why doesn't libsndfile do interleaving/de-interleaving.
-
-    * tests/pcm_test.tpl
-    On Win32 do not perform hash check on files containing doubles.
-
-2002-08-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
-    of type sf_count_t to their maximum positive value.
-
-    * src/dwvw.c src/w64.c
-    Used SF_COUNT_MAX_POSITIVE().
-
-2002-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
-
-    * tests/floating_point_tests.c
-    Fixed hash values for 24 bit PCM PAF files.
-    Disabled file has check if lrintf() function is not available and added
-    warning.
-    Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
-    problems on platforms without lrintf() ie Solaris.
-
-2002-07-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed a problem with two different kinds of mal-formed WAV file header. The
-    first had the 'fact' chunk before the 'fmt ' chunk, the other had an
-    incomplete 'INFO' chunk at the end of the file.
-
-    * src/w64.c
-    Added fix to allow differentiation between W64 files and ACID files.
-
-    * src/au_g72x.c src/common.h src/sndfile.c
-    Added error for G72x encoded files with more than one channel.
-
-    * tests/pcm_test.tpl tests/utils.tpl
-    Moved function check_file_hash_or_die() to utils.tpl. Function was then
-    modified to calculate the has of the whole file.
-
-    * src/wav.c
-    Fixed problem writing the 'fact' chunk on big endian systems.
-
-    * tests/sfconvert.c
-    Fixed bug where .paf files were being written as Sphere NIST.
-
-2002-07-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
-
-    * doc/command.html
-    Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
-
-2002-07-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * man/sndfile-info.1 man/sndfile-play.1
-    Added manpages supplied by Joshua Haberman the Debian maintainer for
-    libsndfile. Additional tweaks by me.
-
-    * configure.in man/Makefile.am
-    Hooked manpages into autoconf/automake system.
-
-    * src/sndfile.c
-    Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
-
-    * tests/update_header_test.c
-    Improved rigor of testing.
-
-    * src/*.c
-    Fixed problem with *_write_header() functions.
-
-2002-07-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/*.html
-    Updates to documentation to fix problems found by wdg-html-validator.
-
-    * src/common.h src/command.c
-    Added normalize parameter to calls to psf_calc_signal_max() and
-    psf_calc_max_all_channels().
-
-    * src/sndfile.c
-    Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
-    SFC_CALC_NORM_MAX_ALL_CHANNELS.
-
-    * doc/command.html
-    Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
-
-2002-07-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c Win32/Makefile.msvc
-    Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
-    sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
-    Win32.
-
-2002-07-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/FAQ.html
-    New file for frequently asked questsions.
-
-2002-07-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Documentation fixes.
-
-    * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
-    Add support of 40kbps G723 ADPCM encoding.
-
-    * tests/lossy_comp_test.c tests/floating_point_test.c
-    Add tests for 40kbps G723 ADPCM encoding.
-
-    * doc/index.html
-    Update support matrix.
-
-2002-07-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/command.html
-    Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
-    SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
-
-    * src/sndfile.c src/pcm.c
-    Add ability to turn on and off the addition of a PEAK chunk for floating
-    point WAV and AIFF files.
-
-    * src/sndfile.[ch] src/common.h src/command.c
-    Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
-    Puxeddu.
-
-    * doc/command.html
-    Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
-
-2002-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/gsm610.c
-    Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
-    encoded RAW (header-less) files.
-
-    * src/wav.c
-    Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
-
-    * src/api.html
-    Fixed more documentation bugs.
-
-2002-07-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h src/common.h
-    Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
-    header file sndfile.h to the private header file common.h to avoid
-    confusion about the actual capabilities of libsndfile.
-
-2002-07-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/wav.c
-    Fixed file parsing for WAV and AIFF files containing non-audio data after
-    the data chunk.
-
-    * src/aiff.c src/sndfile.c
-    Add support for GSM 6.10 encoded AIFF files.
-
-    * tests/lossy_comp_test.c tests/Makefile.am
-    Add tests for GSM 6.10 encoded AIFF files.
-
-    * src/*.c
-    Fix compiler warnings.
-
-2002-07-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
-    SF_FORMAT_RAW.
-
-    * src/sndfile.c
-    Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
-    from AIFF and WAV files with non-audio data after the audio chunk.
-
-    * src/common.h
-    Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
-    SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
-    moved to src/sndfile.h
-
-    * src/aiff.c src/wav.c
-    Begin implementation of XXXX_command() hook for sf_command().
-
-    * tests/write_read_test.tpl
-    Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
-    working.
-
-2002-07-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/update_header_test.c
-    Allow read sample count == write sample count - 1 to fix problems with VOC
-    files.
-
-    * tests/write_read_test.tpl tests/pcm_test.tpl
-    Fixed some problems in the test suite discovered by using Valgrind.
-
-2002-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.[ch] tests/*.c
-    Renamed check_log_buffer() to check_log_buffer_or_die().
-
-    * src/sndfile.c
-    SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
-    for all file formats other than VOC.
-
-2002-07-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.[ch] src/common.h
-    Started adding functionality to allow the file header to be updated before
-    the file is closed on files open for SFM_WRITE. This was requested by
-    Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
-
-    * tests/update_header_test.c
-    New test program to test that the above functionality is working correctly.
-
-    * tests/peak_chunk_test.c tests/floating_point_test.c
-    Cleanups.
-
-2002-07-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sfendian.[ch]
-    Changed length count parameters for all endswap_XXX() functions from
-    sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
-    functions are only called frin inside the library, are always called with
-    integer parameters and doing the actual calculation on 64 bit values is
-    slow in comparision to doing it on ints.
-
-    * examples/sndfile-play.c
-    More playback hacking for Win32.
-
-2002-07-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
-    added %D specifier for printing the sf_count_t type.
-
-    * src/*.c
-    Changed all usage of psf_log_printf() with %D format conversion specifiers
-    to use %M conversion instead.
-
-    * tests/pcm_test.tpl tests/pcm_test.def
-    New files to autogen pcm_test.c.
-
-    * src/pcm.c
-    Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
-
-2002-07-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
-    values for CFLAGS.
-
-    * examples/sndfile-play.c
-    Start adding playback support for Win32.
-
-2002-07-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Worked to removed compiler warnings.
-    Extensive refactoring.
-
-    * src/common.[ch]
-    Added function psf_memset() which works like the standard C function memset
-    but takes and sf_count_t as the length parameter.
-
-    * src/sndfile.c
-    Replaced calls to memset(0 with calls to psf_memset() as required.
-
-2002-07-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Added "libsndfile : " to the start of all error messages. This was suggested
-    by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
-
-    * src/sfendian.[ch]
-    Added endswap_XXXX_copy() functions.
-
-    * src/pcm.c src/float32.c src/double64.c
-    Use endswap_XXXX_copy() functions and removed dead code.
-    Cleanups and optimisations.
-
-2002-07-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/sndfile.h
-    Gave values to all the SFC_* enum values to allow better control of the
-    interface as commands are added and removed.
-    Added new command SFC_SET_ADD_PEAK_CHUNK.
-
-    * src/wav.c src/aiff.c
-    Modified wav_write_header and aiff_write_header to make addition of a PEAK
-    chunk optional, even on floating point files.
-
-    * tests/benchmark.tpl
-    Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
-    PEAK chunk for the benchmark where we are trying to miximize speed.
-
-    * src.pcm.c
-    Changed tribyte typedef to something more sensible.
-    Further conversion speed ups.
-
-2002-07-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/command.c
-    In major_formats rename "Sphere NIST" to "NIST Sphere".
-
-    * src/common.c src/sfendian.c
-    Moved all endswap_XXX_array() functions to sfendian.c. These functions will
-    be tweaked to provide maximum performance. Since maximum performance on one
-    platform does not guarantee maximum performance on another, a small set of
-    functions will be written and the optimal one chosen at compile time.
-
-    * src/common.h src/sfendian.h
-    Declarations of all endswap_XXX_array() functions moved to sfendian.h.
-
-    * src/Makefile.am
-    Add sfendian.c to build targets.
-
-2002-07-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c src/sfendian.h
-    Re-coded PCM encoders and decoders to match or better the speed of
-    libsndfile version 0.0.28.
-
-2002-06-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Add checking for WAVPACK data in standard PCM WAV file. Return error if
-    found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
-    and then stores non-PCM data.
-
-    * tests/benchmark.tpl
-    Added more tests.
-
-2002-06-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/benchmark.tpl
-    Added conditional definition of M_PI.
-    For Win32, set WRITE_PERMS to 0777.
-
-    * Win32/Makefile.msvc
-    Added target to make generate program on Win32.
-
-    * src/samplitude.c
-    Removed handler for Samplitude RAP file format. This file type seems rarer
-    than hens teeth and is completely undocumented.
-
-    * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
-    Removed references to sampltiude RAP format.
-
-    * tests/benchmark.tpl
-    Benchmark program now prints the libsndfile version number when run. This
-    program was also backported to version 0 to compare results. Version
-    1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
-    some. The slow ones need to be fixed before final release.
-
-2002-06-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/benchmark.def tests/benchmark.tpl
-    New files which generate tests/benchmark.c using Autogen. Added int ->
-    SF_FORMAT_PCM_24 test.
-
-    * tests/benchmark.c
-    Now and Autogen output file.
-
-    * tests/Makefile.am
-    Updated for above changes.
-
-2002-06-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/benchmark.c
-    Basic benchmark program complete. Need to convert it to Autogen.
-
-    * Win32/Makefile.msvc
-    Added benchmark.exe target.
-
-2002-06-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/generate.c
-    New program to generate a number of different output file formats from a
-    single input file. This allows testing of the created files.
-
-    * tests/benchmark.c
-    New test program to benchmark libsndfile. Nowhere near complete yet.
-
-    * examples/Makefile.am tests/Makefile.am
-    New make rules for the two new programs.
-
-2002-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/libsndfile.def
-    Removed definition for sf_signal_max().
-
-    * src/sndfile.c
-    Removed cruft.
-
-    * doc/index.html
-    A number of documentation bugs were fixed. Thanks to Anand Kumria.
-
-    * doc/version-1.html
-    Minor doc updates.
-
-    * configure.in
-    Bumped version to 1.0.0rc2.
-
-    * src/sf_command.h src/Makefile.am
-    Removed the header file as it was no longer being used. Thanks to Anand
-    Kunria for spotting this.
-
-    * doc/index.html
-    A number of documentation bugs were fixed. Thanks to Anand Kumria.
-
-2002-06-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
-    on Win32..
-
-    * src/file_io.c
-    Win32 fixes to ensure O_BINARY is used for file open.
-
-    * doc/win32.html
-    New file documenting the building libsndfile on Win32.
-
-    * doc/*.html
-    Updating of documentation.
-
-2002-06-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pcm_test.c
-    Minor changes to allow easier determination of test file name.
-
-    * src/sndfile.[ch]
-    Removed function sf_signal_max().
-
-    * examples/sndfile-play.c
-    Changed call to sf_signal_max() to a call to sf_command().
-
-2002-06-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/format.c src/command.c
-    Renamed format.c to command.c which will now include code for sf_command()
-    calls to perform operations other than format commands.
-
-    * src/sndfile.c src/sndfile.h
-    Removed function sf_get_signal_max() which is replaced by commands passed
-    to sf_command().
-
-    * src/command.c
-    Implement commands SFC_CALC_SIGNAL_MAX.
-
-    * doc/command.html
-    Documented SFC_CALC_SIGNAL_MAX.
-
-2002-06-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-play.c
-    Mods to make sndfile-play work on Solaris. The program sndfile-play now
-    runs on Linux, MaxOSX and Solaris. Win32 to come.
-
-    * src/format.c
-    Added SF_FORMAT_DWVW_* to subtype_formats array.
-
-    * src/nist.c
-    Added support for 8 bit NIST Sphere files. Example file supplied by Anand
-    Kumria.
-
-2002-06-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sndfile-info.c
-    Tidy up of output format.
-
-    * examnples/sndfile-play.c
-    Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
-
-    * configure.in
-    Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
-    required to supply extra include paths and link parameters to get
-    sndfile-play working on MacOSX.
-
-    * examples/Makefile.am
-    Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
-    sndfile-play.
-
-2002-06-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Added ability to read/write new NIST Sphere file types (A-law, u-law).
-    Header parser was re-written from scratch. Example files supplied by Anand
-    Kumria.
-
-    * src/sndfile.c
-    Support for A-law and u-law NIST files.
-
-    * tests/Makefile.am tests/lossy_comp_test.c
-    Tests for A-law and u-law NIST files.
-
-2002-06-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.c
-    Fixed an error in error string.
-
-2002-06-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * acinclude.m4
-    Removed exit command to allow cross-compiling.
-
-    * Win32/unistd.h src/file_io.c
-    Moved contents of first file into the second file (enclosed in #ifdef).
-    Win32/unistd.h is now an empty file but still must be there for libsndfile
-    to compile on Win32.
-
-    * src/sd2.c, src/sndfile.c:
-    Fixes for Sound Designer II files on big endian systems.
-
-2002-06-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Modified to work around problems with crappy MacOSX version of sed.
-    Added sanity check for proper values for CFLAGS.
-
-2002-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Code clean up in sf_open ().
-
-    * Win32/Makefile.msvc
-    Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
-    together in a new improved form.
-
-    * src/file_io.c
-    Fixes for Win32; _lseeki64() returns an invalid argument for calls like
-    _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
-
-    * src/common.h src/sndfile.c src/wav.c src/aiff.c
-    Added SFE_LOG_OVERRUN error.
-    Added termination for potential infinite loop when parsing file headers.
-
-    * src/wav.c src/w64.c
-    Fixed bug casuing incorrect header generation when opening file read/write.
-
-2002-06-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/api.html
-    Improved the documentation to make it clearer that the file read method
-    and the underlying file format are completely disconnected. Suggested
-    by Josh Green.
-
-    * doc/command.html
-    Started correcting docs to take into account changes made to the
-    operations of the sf_command () function. Not complete yet.
-
-    * src/sndfile.c
-    Reverted some changes which had broken the partially working SDII header
-    parsing. Now have access to an iBook with OS X so reading and writing SDII
-    files on all platforms should be a reality in the near future. On Mac this
-    will involve reading the resource fork via the standard MacOS API. To move
-    a file from Mac to another OS, the resource and data forks will need to be
-    combined before transfer. The combined file will be read on both Mac and
-    other OSes like any other file.
-
-2002-06-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * ltmain.sh
-    Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
-    which allows libsndfile to compile on MacOSX 10.1. This patch should not
-    interfere with compiling on other OSes.
-
-    * src/GSM610/private.h
-    Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
-
-    * src/float_cast.h
-    Added MacOSX replacements for lrint() and lrintf().
-
-2002-06-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Replaced the code to print the filename to the log buffer when a file is
-    opened. This code seems to have been left out during the merge of
-    sf_open_read() and sf_open_write() to make a single  functions sf_open().
-
-2002-06-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed a bug where the WAV header parser was going into an infinite loop
-    on a badly formed LIST chunk. File supplied by David Viens.
-
-2002-05-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Added a message at the end of the configuration process to warn about the
-    need for the use of pkg-config when linking programs against version 1 of
-    libsndfile.
-
-    * doc/pkg-config.html
-    New documentation file containing details of how to use pkg-config to
-    retrieve settings for CFLAGS and library locations for linking files
-    against version 1 of libsndfile.
-
-2002-05-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed minor bug in handling of so-called ACIDized WAV files.
-
-2002-05-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/libsndfile.def Win32/Makefile.msvc
-    Two new files contributed by Michael Fink (from the winLAME project)
-    which allows libsndfile to be built on windows in a MSDOS box by doing
-    "nmake -f Makefile.msvc". Way cool!
-
-2002-05-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
-    generate a tarball which will configure and compile on that platform.
-    Joined the libtool mailing list to try and get some answers.
-
-2002-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
-    is incompatible with with version 2.13 which had been using until now.
-    The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
-    few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
-
-    * configure.in
-    Changed to automake version 1.5 to try and make a tarball which will
-    work on MacOSX.
-
-2002-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_gsm610.c
-    Changed name to gsm610.c. Added reading/writing of headerless files.
-
-    * src/sndfile.c src/raw.c
-    Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
-
-2002-05-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Clean up in preparation for Autogen-ing this file.
-
-    * src/GSM610/*.[ch]
-    Code cleanup and prepartion forgetting file seek working. Details in
-    src/GSM610/ChangeLog.
-
-    * sndfile.pc.in
-    Testing complete. Is sndfile.m4 still needed?
-
-2002-05-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.tpl tests/rdwr_test.tpl
-    Merged tests from these two programs into write_read_test.tpl and deleted
-    rdwr_test.tpl.
-
-2002-05-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c src/svx.c src/paf.c
-    Fixed bugs in read/write mode.
-
-2002-05-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/Makefile.am
-    Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
-    consistency when these programs become part of the Debian package
-    sndfile-programs.
-
-    * sndfile.pc.in
-    New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
-    model for providing installation parameters to dependant programs.
-
-    * src/sndfile.c
-    Cleanup of code in sf_open().
-
-2002-05-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/utils.tpl tests/write_read_test.tpl
-    More conversion to Autogen fixes and enchancements.
-
-    * src/*.c
-    Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
-    bit float and 64 bit double data. More tests still required.
-
-    * src/Makefile.am
-    Added DISTCLEANFILES target to remove config.status and config.last.
-
-    * Win32/Makefile.am MacOS/Makefile.am
-    Added DISTCLEANFILES target to remove Makefile.
-
-2002-05-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch] tests/rdwr_test.c
-    More verifying workings of read/write mode. Fixing bugs found.
-
-    * tests/utils.[ch]
-    Made these files Autogen generated files.
-
-    * tests/util.tpl tests/util.def
-    New Autogen files to generate utils.[ch]. Moved some generic test functions
-    into this file. Autogen is such a great tool!
-
-2002-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c src/float_cast.h Win32/config.h
-    Fixed a couple of Win32 specific bugs pointed out by Michael Fink
-    (maintainer of WinLAME) and David Viens.
-
-    * tests/check_log_buffer.[ch] tests/utils.[ch]
-    Moved check_log_buffer() to utils.[ch] and deleted old file.
-
-2002-05-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.[ch] src/sndfile.c
-    New function psf_default_seek() which will be the default seek function
-    for things like PCM and floating point data. This default is set for
-    both read and write in sf_open() but can be over-ridden by any codec
-    during it's initialisation.
-
-2002-05-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c
-    AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
-    to allow opening files like this.
-
-    * tests/rdwr_test .c
-    Added more tests.
-
-    * src/sndfile.c
-    Fixed bugs in read/write mode found due to improvements in the test
-    program.
-
-2002-04-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/rdwr_test .c
-    New file for testing read/write mode.
-
-2002-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * m4/*
-    Removed all m4 macros from this directory as they get concatenated to form
-    the file aclocal.m4 anyway.
-
-    * sndfile.m4
-    Moved this from the m4 directory to the root directory asn this is part of
-    the distribution and is installed during "make install".
-
-2002-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c
-    Removed logging of peaks for all file formats other than AIFF and WAV.
-
-    * tests/write_read_test.tpl tests/write_read_test.def
-    New files which autogen uses to generate write_read_test.c. Doing it this
-    way makes write_read_test.c far easier to maintain. Other test programs
-    will be converted to autogen in the near future.
-
-    * src/*.c
-    Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
-
-2002-04-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * doc/*.html
-    Fixed documention versioning.
-
-    * configure.in
-    Fixed a bug in the routines which search for Large File Support on systems
-    which have large file support by defualt.
-
-2002-04-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch]
-    Found and fixed an issue which can cause a bug in other software (I was
-    porting Conrad Parker's Sweep program from version 0 of the library to
-    version 1). When opening a file for write, the libsndfile code would
-    set the sfinfo.samples field to a maximum value.
-
-    * tests/write_read_test.c
-    Added tests to detect the above problem.
-
-2002-04-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch]
-    Finished base implementation of read/write mode. Much more testing still
-    needed.
-
-    * m4/largefile.m4
-    Macro for detecting Large File Standard capabilities. This macro was ripped
-    out of the aclocal.m4 file of GNU tar-1.13.
-
-    * configure.in
-    Added detection of large file support. Files larger than 2 Gigabytes should
-    now be supported on 64 bit platforms and many 32 bit platforms including
-    Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
-
-    * libsndfile_convert_version.py
-    A Python script which attempts to autoconvert code written to use version 0
-    to version 1.
-
-2002-04-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch]
-    Finished base implementation of read/write mode. Much more testing still
-    needed.
-
-    * tests/write_read_test.c
-    Preliminary tests for read/write mode added. More needed.
-
-2002-04-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.[ch]
-    Removed sf_open_read() and sf_open_write() functions,replacting them with
-    sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
-    or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
-    opening a file formodification (RDWR).
-
-2002-04-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Completed merging of separate xxx_open_read() and xxx_open_write()
-    functions. All tests pass.
-
-2002-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c
-    Massive refactoring required to merge au_open_read() with au_open_write()
-    to create au_open().
-
-2002-04-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Started changes required to allow a sound file to be opened in read/write
-    mode, with separate file pointers for read and write. This involves merging
-    of encoder/decoder functions like pcm_read_init() and pcm_write_init()
-    int a new function pcm_init() as well as doing something similar for all
-    the file type specific functions ie aiff_open_read() and aiff_open_write()
-    were merged to make the function aiff_open().
-
-2002-04-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/file_io.c
-    New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
-    psf_ftell() functions. These function will replace use of fopen/fread/fwrite
-    etc and allow access to files larger than 2 gigabytes on a number of 32 bit
-    OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
-
-    * src/*.c
-    Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
-    with psf_write and so on.
-
-2002-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/dwvw.c
-    Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
-
-    * tests/floating_point_test.c
-    Added tests for 12, 16 and 24 bit DWVW encoding.
-
-2002-03-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * m4/endian.m4
-    Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
-    the target CPU. It first checks for the definition of BYTE_ORDER in
-    <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
-    and the C compiler is not a cross compiler it compiles and runs a program
-    to test for endian-ness. If the compiler is a cross compiler it makes a
-    guess based on $target_cpu.
-
-    * configure.in
-    Modified to use AC_C_FIND_ENDIAN.
-
-    * src/sfendian.h
-    Simplified.
-
-2002-02-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/floating_point_test.c
-    Tests completely rewritten using the dft_cmp function. Now able to
-    calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
-
-2002-02-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/dft_cmp.[ch]
-    New files containing functions for comparing pre and post lossily
-    compressed data using a quickly hacked DFT.
-
-    * tests/utils.[ch]
-    New files containing functions for saving pre and post encoded data in a
-    file readable by the GNU Octave package.
-
-2002-02-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * m4/lrint.m4 m4/lrintf.m4
-    Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
-    is cached.
-
-2002-02-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/floating_point_test.c
-    Fixed improper use of strncat ().
-
-2002-02-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/headerless_test.c
-    New test program to test the ability to open and read a known file type as a
-    RAW header-less file.
-
-2002-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/losy_comp_test.c
-    Added a test to ensure that the data read from a file is not all zeros.
-
-    * examples/sfconvert.c
-    Added "-gsm610" encoding types.
-
-2002-01-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfconvert.c
-    Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
-
-    * tests/dwvw_test.c
-    New file for testing DWVW encoder/decoder.
-
-2002-01-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/dwvw.c
-    Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
-
-    * src/aiff.c
-    Improved reporting of encoding types.
-
-    * src/voc.c
-    Clean up.
-
-2002-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/dwvw.c
-    New file implementing lossless Delta Word Variable Width (DWVW) encoding.
-    Reading 12 bit DWVW is now working.
-
-    * src/aiff.c common.h sndfile.c
-    Added hooks for DWVW encoded AIFF and RAW files.
-
-2002-01-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Robustify header parsing.
-
-    * src/wav_w64.h
-    Header file wav.h was renamed to wav_w64.h to signify sharing of
-    definitions across the two file types.
-
-    * src/wav.c src/w64.c src/wav_w64.c
-    Refactoring.
-    Modified and moved functions with a high degree of similarity between
-    wav.c and w64.c to wav_w64.c.
-
-2002-01-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Completed work on getting read and write working.
-
-    * examples/sfplay.c
-    Added code to scale floating point data so it plays at a reasonable volume.
-
-    * tests/Makefile.am tests/write_read_test.c
-    Added tests for W64 files.
-
-2002-01-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Modded all code in file header writing routines to use
-    psf_new_binheader_writef().
-    Removed psf_binheader_writef() from src/common.c.
-    Globally replaced psf_new_binheader_writef with psf_binheader_writef.
-
-2002-01-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Modded all code in file parsing routines to use psf_new_binheader_readf().
-    Removed psf_binheader_readf() from src/common.c.
-    Globally replaced psf_new_binheader_readf with psf_binheader_readf.
-
-    * src/common.[ch]
-    Added new function psf_new_binheader_writef () which will soon replace
-    psf_binheader_writef (). The new function has basically the same function
-    as the original but has a more flexible and capable interface. It also
-    allows the writing of 64 bit integer values for files contains 64 bit file
-    offsets.
-
-2002-01-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/formats.c src/sndfile.c src/sndfile.h
-    Added code allowing full enumeration of supported file formats via the
-    sf_command () interface.
-    This feature will allow applications to avoid needing recompilation when
-    support for new file formats are added to libsndfile.
-
-    * tests/command_test.c
-    Added test code for the above feature.
-
-    * examples/list_formats.c
-    New file. An example of the use of the supported file enumeration
-    interface. This program lists all the major formats and for each major
-    format the supported subformats.
-
-2002-01-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch] tests/*.c
-    Changed command parameter of sf_command () function from a test string to
-    an int. The valid values for the command parameter begin with SFC_ and are
-    listed in src/sndfile.h.
-
-2001-12-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/formats.c src/sndfile.c
-    Added an way of enumerating a set of common file formats using the
-    sf_command () interface. This interface was suggested by Dominic Mazzoni,
-    one of the main authors of Audacity (http://audacity.sourceforge.net/).
-
-2001-12-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Added checking of filename parameter in sf_open_read (). Previousy, if a
-    NULL pointer was passed the library would segfault.
-
-2001-12-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c src/common.h
-    Changed the len parameter of the endswap_*_array () functions from type
-    int to type long.
-
-    * src/pcm.c
-    Fixed a problem which
-
-2001-12-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
-    Paul Hartman for pointing this out.
-
-    * tests/lossy_comp_test.c tests/floating_point_test.c
-    Added definitions for M_PI for when it isn't defined in <math.h>.
-
-2001-11-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ircam.c
-    Re-implemented the header reader. Old version was making incorrect
-    assumptions about the endian-ness of the file from the magic number at the
-    start of the file. The new code looks at the integer which holds the
-    number of channels and determines the endian-ness from that.
-
-2001-11-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Added support for other AIFC types ('raw ', 'in32', '23ni').
-    Further work on IMA ADPCM encoding.
-
-2001-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ima_adpcm.c
-    Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
-    encodings for both WAV and AIFF files.
-
-    * src/aiff.c
-    Started adding IMA ADPCM support.
-
-2001-11-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/double.c
-    New file for handling double precision floating point (SF_FORMAT_DOUBLE)
-    data.
-
-    * src/wav.c src/aiff.c src/au.c src/raw.c
-    Added support for SF_FORMAT_DOUBLE data.
-
-    * src/common.[ch]
-    Addition of endswap_long_array () for endian swapping 64 bit integers. This
-    function will work correctly on processors with 32 bit and 64 bit longs.
-    Optimised endswap_short_array () and endswap_int_array ().
-
-    * tests/pcm_test.c
-    Added and extra check. After the first file of each type is written to disk
-    a checksum is performed of the first 64 bytes and checked against a pre-
-    calculated value. This will work whatever the endian-ness of the host
-    machine.
-
-2001-11-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
-    supplying example files.
-
-    * tests/lossy_comp_test.c
-    Added tests for above.
-
-    * src/common.h src/*.c
-    Removed function typedefs from common.h and function pointer casting in all
-    the other files. This allows the compiler to perform proper type checking.
-    Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
-    BeOS etc.
-
-    * src/common.[ch]
-    Added new function psf_new_binheader_readf () which will eventually replace
-    psf_binheader_readf (). The new function has basically the same function as
-    the original but has a more flexible and capable interface. It also allows
-    the reading of 64 bit integer values for files contains 64 bit file
-    offsets.
-
-2001-11-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Completed implementation of VOC file handling. Can now handle 8 and 16 bit
-    PCM, u-law and A-law files with one or two channels.
-
-    * src/write_read_test.c tests/lossy_comp_test.c
-    Added tests for VOC files.
-
-2001-11-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float_cast.h
-    Added inline asm version of lrint/lrintf for MacOS. Solution provided by
-    Stephane Letz.
-
-    * src/voc.c
-    More work on this braindamaged format. The VOC files produced by SoX also
-    have a number of inconsistencies.
-
-2001-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    Added support for 8 bit PCM PAF files.
-
-    * tests/write_read_test.c
-    Added tests for 8 bit PAF files.
-
-2001-11-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/pcm_test.c
-    New test program to test for correct scaling of integer values between
-    different sized integer containers (ie short -> int).
-    The new specs for libsndfile state that when the source and destination
-    containers are of a different size, the most significant bit of the source
-    value becomes the most significant bit of the destination container.
-
-    * src/pcm.c src/paf.c
-    Modified to pass the above test program.
-
-    * tests/write_read_test.c tests/lossy_comp_test.c
-    Modified to work with the new scaling rules.
-
-2001-11-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/raw.c tests/write_read_test.c tests/write_read_test.c
-    Added ability to do raw reads/writes of float, u-law and A-law files.
-
-    * src/*.[ch] examples/*.[ch] tests/*.[ch]
-    Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
-    SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
-
-2001-11-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch]
-    Started implmentation of major changes documented in doc/version1.html.
-
-    Removed all usage of off_t which is not part of the ISO C standard. All
-    places which were using it are now using type long which is the type of
-    the offset parameter for the fseek function.
-    This should fix problems on BeOS, MacOS and *BSD like systems which were
-    failing "make check" because sizeof (long) != sizeof (off_t).
-
---------------------------------------------------------------------------------
-This is the boundary between version 1 of the library above and version 0 below.
---------------------------------------------------------------------------------
-
-2001-11-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfplay_beos.cpp
-    Added BeOS version of sfplay.c. This needs to be compiled using a C++
-    compiler so is therefore not built by default. Thanks to Marcus Overhagen
-    for providing this.
-
-2001-11-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfplay.c
-    New example file showing how libsndfile can be used to read and play a
-    sound file.
-    At the moment on Linux is supported. Others will follow in the near future.
-
-2001-11-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    Fixed problem with normalisation code where a value of 1.0 could map to
-    a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
-    pointing this out.
-
-2001-11-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    Fixed scaling issue when reading/writing 8 bit files using
-    sf_read/sf_write_short ().
-    On read, values are scaled so that the most significant bit in the char
-    ends up in the most significant bit of the short. On write, values are
-    scaled so that most significant bit in the short ends up as the most
-    significant bit in the char.
-
-2001-11-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c src/sndfile.c
-    Added support for 32 bit float data in big and little endian AU files.
-
-    * tests/write_read_test.c
-    Added tests for 32 bit float data in AU files.
-
-2001-11-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Finalised testing of stereo files where possible.
-
-2001-11-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_ms_adpcm.c
-    Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
-    pointing out this problem.
-
-2001-10-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_ms_adpcm.c
-    Modified function srate2blocksize () to handle 44k1Hz stereo files.
-
-2001-10-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/w64.c
-    Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
-    development platform) does not yet support 64 bit file offsets by default,
-    current handling of this file format treats everything as 32 bit and fails
-    openning the file, if it finds anything that goes beyond 32 bit values.
-
-    * src/sndfile.[hc] src/common.h src/Makefile.am
-    Added hooks for W64 support.
-
-2001-10-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Added more warnings options to CFLAGS when the gcc compiler is detected.
-
-    * src/*.[ch] tests/*.c examples/*.c
-    Started fixing the warning messages due to the new CFLASG.
-
-    * src/voc.c
-    More work on VOC file read/writing.
-
-    * src/paf.c
-    Found that PAF files were not checking the normalisation flag when reading
-    or writing floats and doubles. Fixed it.
-
-    * tests/floating_point_test.c
-    Added specific test for the above problem.
-
-    * src/float_cast.h src/pcm.c
-    Added a section for Win32 to define lrint () and lrintf () in the header
-    and implement it in the pcm.c
-
-2001-10-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * sndfile-config.in m4/sndfile.m4
-    These files were donated by Conrad Parker who also provided instructions
-    on how to install them using autoconf/automake.
-
-    * src/float_cast.h
-    Fiddled around with this file some more. On Linux and other gcc supported
-    OSes use the C99 functions lrintf() and lrint() for casting from floating
-    point to int without incurring the huge perfromance penalty (particularly
-    on the i386 family) caused by the regular C cast from float to int.
-    These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
-    I had been playing with.
-
-    * configure.in m4/lrint.m4 m4/lrintf.m4
-    Add detection of these functions.
-
-2001-10-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Completed code for reading VOC files containing a single audio data
-    segment.
-    Started implementing code to handle files with multiple VOC_SOUND_DATA
-    segments but couldn't be bothered finishing it. Multiple segment files can
-    have different sample rates for different sections and other nasties like
-    silence and repeat segments.
-
-2001-10-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/*.c
-    Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
-
-    * src/voc.c
-    Further development of the read part of this woefult file format.
-
-2001-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float_cast.h
-    Implemented gcc and i386 floating point to int cast macros. Standard cast
-    will be used when not on gcc for i385.
-
-    * src/pcm.c
-    Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
-    comply with macros in float_cast.h.
-
-2001-10-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/voc.c
-    Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
-    on MacOS with CodeWarrior 6.0.
-
-    * MacOS/MacOS-readme.txt
-    Updated the compile instructions. Probably still need work as I don't have
-    access to a Mac.
-
-2001-10-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/aiff.c common.c
-    Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
-    LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
-
-    * src/common.h
-    Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
-    LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
-
-    * src/missing.c
-    New file containing a minimal implementation of snprintf and vsnprintf
-    functions named missing_snprintf and missing_vsnprintf respectively. These
-    are only compliled into the binary if snprintf and/or vsnprintf are not
-    available.
-
-2001-09-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ircam.c
-    New file to handle Berkeley/IRCAM/CARL files.
-
-    * src/sndfile.c src/common.h
-    Modified for IRCAM handling.
-
-    * tests/*.c
-    Added tests for IRCAM files.
-
-2001-09-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
-    20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
-    header writing code to generate smaller ms compliant ulaw and Alaw WAV
-    files.
-
-2001-09-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/stdio_test.sh tests/stdio_test.c
-    Shell script was rewritten as a C program due to incompatibilities of the
-    sh shell on Linux and Solaris.
-
-2001-09-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
-    New test programs to verify the correct operation of reading from stdin and
-    writing to stdout.
-
-    * src/sndfile.c wav.c au.c nist.c paf.c
-    Fixed a bugs uncovered by the new test programs above.
-
-2001-09-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c wav.c
-    Fixed a bug preventing reading a file from stdin. Found by T. Narita.
-
-2001-09-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
-    WAV files. Root cause was the declaration of the func_seek typedef not
-    matching the functions it was actually being used to point to. In OpenBSD
-    sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
-    to log into his OpenBSD machine to debug this problem.
-
-2001-09-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Implemented sf_command ("norm float").
-
-    * src/*.c
-    Implemented handling of sf_command ("set-norm-float"). Float normalization
-    can now be turned on and off.
-
-    * tests/double_test.c
-    Renamed to floating_point_test.c. Modified to include tests for all scaled
-    reads and writes of floats and doubles.
-
-    * src/au_g72x.c
-    Fixed bug in normalization code found with improved floating_point_test
-    program.
-
-    * src/wav.c
-    Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
-    text annotations from WAV files.
-
-    * src/aiff.c
-    Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
-    text annotations from WAV files.
-
-2001-09-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sf_info.c example/Makefile.am
-    Renamed to sndfile_info.c. The program sndfile_info will now be installed
-    when the library is installed.
-
-    * src/float_cast.h
-    New file defining floating point to short and int casts. These casts will
-    eventually replace all flot and double casts to short and int. See comments
-    at the top of the file for the reasoning.
-
-    * src/*.c
-    Changed all default float and double casts to short or int with macros
-    defined in floatcast.h. At the moment these casts do nothing. They will be
-    replaced with faster float to int cast operations in the near future.
-
-2001-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/command_test.c
-    New file for testing sf_command () functionality.
-
-    * src/sndfile.c
-    Revisiting of error return values of some functions.
-    Started implementing sf_command () a new function will allow on-the-fly
-    modification of library behaviour, or instance, sample value scaling.
-
-    * src/common.h
-    Added hook for format specific sf_command () calls to SNDFILE struct.
-
-    * doc/api.html
-    Updated and errors corrected.
-
-    * doc/command.html
-    New documentation file explaining new sf_command () function.
-
-2001-08-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed error return values from sf_read*() and sf_write*(). There were
-    numerous instances of -1 being returned through size_t. These now all set
-    error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
-    spotting this.
-
-2001-08-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fixed use of va_arg() calls that were causing warning messages with the
-    latest version of gcc (thanks Maurizio Umberto Puxeddu).
-
-2001-07-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c src/sfendian.h
-    Moved definition of MAKE_MARKER macro to sfendian.h
-
-2001-07-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Modified sf_get_lib_version () so that version string will be visible using
-    the Unix strings command.
-
-    * examples/Makefile.am examples/sfinfo.c
-    Renamed sfinfo program and source code to sf_info. This prevents a name
-    clash with the program included with libaudiofile.
-
-2001-07-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/read_seek_test.c tests/lossy_comp_test.c
-    Added tests for sf_read_float () and sf_readf_float ().
-
-    * src/voc.c
-    New files for handling Creative Voice files (not complete).
-
-    * src/samplitude.c
-    New files for handling Samplitude files (not complete).
-
-2001-07-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
-    Converted these files to using psf_binheader_readf() function. Will soon be
-    ready to attempt to make reading writing from pipes work reliably.
-
-    * src/*.[ch]
-    Added code for sf_read_float () and sf_readf_float () methods of accessing
-    file data.
-
-2001-07-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c src/wav_gsm610.c
-    Removed two printf()s which had escaped notice for some time (thanks
-    Sigbjørn Skjæret).
-
-2001-07-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_gsm610.c
-    Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
-    libsndfile from being played in Windoze (thanks klay).
-
-2001-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.[ch]
-    Implemented psf_binheader_readf() which will do for file header reading what
-    psf_binheader_writef() did for writing headers. Will eventually allow
-    libsndfile to read and write from pipes, including named pipes.
-
-2001-07-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * MacOS/config.h Win32/config.h
-    Attempted to bring these two files uptodate with src/config.h. As I don't
-    have access to either of these systems support for them may be completely
-    broken.
-
-2001-06-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c
-    Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
-    tested on Intel x86 and UltraSparc processors.
-
-2001-06-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Modified to allow REX files (from Propellorhead's Recycle and Reason
-    programs) to be read.
-    REX files are basically an AIFF file with slightly unusual sequence of
-    chunks (AIFF files are supposed to allow any sequence) and some extra
-    application specific information.
-    Not yet able to write a REX file as the details of the application specific
-    data is unknown.
-
-2001-06-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed endian bug when reading PEAK chunk on big endian machines.
-
-    * src/common.c
-    Fixed endian bug when reading PEAK chunk on big endian machines with
-    --enable-force-broken-float configure option.
-    Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
-
-2001-06-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in src/config.h.in
-    Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
-    capabilities are detected at run time.
-    Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
-    where the processor can in fact handle floats correctly.
-
-    * src/float32.c
-    Rejigged code reading and writing of floats on broken processors.
-
-    * m4/
-    Removed this directory and all its files as they are no longer needed.
-
-2001-06-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/peak_chunk_test.c
-    New test to validate reading and writing of peak chunk.
-
-    * examples/sfconvert
-    Added -float32 option.
-
-    * src/*.c
-    Changed all error return values to negative values (ie the negative of what
-    they were).
-
-    * src/sndfile.c tests/error_test.c
-    Modified to take account of the previous change.
-
-2001-06-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/float32.c
-    File renamed from wav_float.c and renamed function to something more
-    general.
-    Added runtime detection of floating point capabilities.
-    Added recording of peaks during write for generation of PEAK chunk.
-
-    * src/wav.c src/aiff.c
-    Added handing for PEAK chunk for floating point files. PEAK is read when the
-    file headers are read and generated when the file is closed. Logic is in
-    place for adding PEAK chunk to end of file when writing to a pipe (reading
-    and writing from/to pipe to be implemented soon).
-
-    * src/sndfile.c
-    Modified sf_signal_max () to use PEAK values if present.
-
-2001-06-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
-    other calls to functions in this file from the filetype specific files.
-
-    * src/*.c
-    Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
-    ulaw_write_init () and removed all other calls to functions in alaw.c and
-    ulaw.c from the filetype specific files.
-
-    * tests/write_read_test.c
-    Added tests to validate sf_seek () on all file types.
-
-    * src/raw.c
-    Implemented raw_seek () function to fix a bug where
-    sf_seek (file, 0, SEEK_SET) on a RAW file failed.
-
-    * src/paf.c
-    Fixed a bug in paf24_seek () found due to added seeks tests in
-    tests/write_read_test.c
-
-2001-06-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/read_seek_test.c
-    Fixed a couple of broken binary files.
-
-    * src/aiff.c src/wav.c
-    Added handling of PEAK chunks on file read.
-
-2001-05-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * check_libsndfile.py
-    New file for the regression testing of libsndfile.
-    check_libsndfile.py is a Python script which reads in a file containing
-    filenames of audio files. Each file is checked by running the examples/sfinfo
-    program on them and checking for error or warning messages in the libsndfile
-    log buffer.
-
-    * check_libsndfile.list
-    This is an example list of audio files for use with check_libsndfile.py
-
-    * tests/lossy_comp_test.c
-    Changed the defined value of M_PI for math header files which don't have it.
-    This fixed validation test failures on MetroWerks compilers. Thanks to Lord
-    Praetor Satanus of Acheron for bringing this to my attention.
-
-2001-05-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.[ch]
-    Removed psf_header_setf () which was no longer required after refactoring
-    and simplification of header writing.
-    Added 'z' format specifier to psf_binheader_writef () for zero filling header
-    with N bytes. Used by paf.c and nist.c
-
-    * tests/check_log_buffer.c
-    New file implementing check_log_buffer () which reads the log buffer of a
-    SNDFILE* object and searches for error and warning messages. Calls exit ()
-    if any are found.
-
-    * tests/*.c
-    Added calls to check_log_buffer () after each call to sf_open_XXX ().
-
-2001-05-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/wav_ima_adpcm.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Changed return type of get_encoding_str () to prevent compiler warnings on
-    Mac OSX.
-
-    * src/aiff.c src/au.c
-    Major rehack of header writing using psf_binheader_writef ().
-
-2001-05-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h src/common.c
-    Added comments.
-    Name of log buffer changed from strbuffer to logbuffer.
-    Name of log buffer index variable changed from strindex to logindex.
-
-    * src/*.[ch]
-    Changed name of internal logging function from psf_sprintf () to
-    psf_log_printf ().
-    Changed name of internal header generation functions from
-    psf_[ab]h_printf () to psf_asciiheader_printf () and
-    psf_binheader_writef ().
-    Changed name of internal header manipulation function psf_hsetf () to
-    psf_header_setf ().
-
-2001-05-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    Fixed reading and writing of sample_byte_format header. "01" means little
-    endian and "10" means big endian regardless of bit width.
-
-    * configure.in
-    Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
-    way screwed up and spews out buckets of warning messages from the system
-    headers.
-    Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
-    easier debugging.
-    Made decision to harmonise source code version number and .so library
-    version number. Future releases will stick to this rule.
-
-    * doc/new_file_type.HOWTO
-    New file to document the addition of new file types to libsndfile.
-
-2001-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/nist.c
-    New file for reading/writing Sphere NIST audio file format.
-    Originally requested by Elis Pomales in 1999.
-    Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
-    Some vital information gleaned from the source code to Bill Schottstaedt's
-    sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
-    Currently reading and writing 16, 24 and 32 bit, big-endian and little
-    endian, stereo and mono files.
-
-    * src/common.h src/common.c
-    Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
-
-    * configure.in
-    Added test for vsnprintf () required by psf_ah_printf ().
-
-    * tests/write_read_test.c
-    Added tests for supported NIST files.
-
-2001-05-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.c
-    Added tests for little endian AIFC files.
-
-    * src/aiff.c
-    Minor re-working of aiff_open_write ().
-    Added write support for little endian PCM encoded AIFC files.
-
-2001-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Minor re-working of aiff_open_read ().
-    Added read support for little endian PCM encoded AIFC files from the Mac
-    OSX CD ripper program. Guillaume Lessard provided a couple of sample files
-    and a working patch.
-    The patch was not used as is but gave a good guide as to what to do.
-
-2001-05-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h
-    Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
-    pointed out the error.
-
-2001-04-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/make_sine.c
-    Re-write of this example using sample rate and required frequency in Hz.
-
-2001-02-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed bug that prevented known file types from being read as RAW PCM data.
-
-2000-12-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Added handing of COMT chunk.
-
-2000-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfconvert.c
-    Fixed bug in normalisatio code. Pointed out by Johnny Wu.
-
-2000-11-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * Win32/config.h
-    Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
-
-2000-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/Makefile.am
-    Added -lm for write_read_test_LDADD.
-
-2000-10-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/au.c
-    Fixed bug which prevented writing of G723 24kbps AU files.
-
-    * tests/lossy_comp_test.c
-    Corrrection to options for G723 tests.
-
-    * configure.in
-    Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
-    doesn't allow gcc -pipe option.
-
-2000-09-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
-    Fixed normailsation bugs shown up by new double_test program.
-
-2000-08-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c
-    Fixed bug in normalisation code (spotted by Steve Lhomme).
-
-    * tests/double_test.c
-    New file to test scaled and unscaled sf_read_double() and sf_write_double()
-    functions.
-
-2000-08-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * COPYING
-    Changed to the LGPL COPYING file (spotted by H. S. Teoh).
-
-2000-08-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h
-    Removed prototype of unimplemented function sf_get_info(). Added prototype
-    for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
-
-2000-08-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/newpcm.h
-    New file to contain a complete rewrite of the PCM data handling.
-
-2000-08-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
-    Skjæret for spotting this one.
-
-2000-08-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au_g72x.c src/G72x/g72x.c
-    Added G723 encoded AU file support.
-
-    * tests/lossy_comp_test.c
-    Added tests for G721 and G723 encoded AU files.
-
-2000-08-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * all files
-    Changed the license to LGPL. Albert Faber who had copyright on
-    Win32/unistd.h gave his permission to change the license on that file. All
-    other files were either copyright erikd AT mega-nerd DOT com or copyright
-    under a GPL/LGPL compatible license.
-
-2000-08-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Fixed incorrect error message.
-
-    * src/au_g72x.c src/G72x/*
-    G721 encoded AU files now working.
-
-    * Win32/README-Win32.txt
-    Replaced this file with a new one which gives a full explanation
-    of how to build libsndfile under Win32. Thanks to Mike Ricos.
-
-2000-08-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.[ch]
-    Removed double leading underscores from the start of all variable and
-    function names. Identifiers with a leading underscores are reserved
-    for use by the compiler.
-
-    * src/au_g72x.c src/G72x/*
-    Continued work on G721 encoded AU files.
-
-2000-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/G72x/*
-    New files for reading/writing G721 and G723 ADPCM audio. These files
-    are from a Sun Microsystems reference implementation released under a
-    free software licence.
-    Extensive changes to this code to make it fit in with libsndfile.
-    See the ChangeLog in this directory for details.
-
-    * src/au_g72x.c
-    New file for G721 encoded AU files.
-
-2000-07-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * libsndfile.spec.in
-    Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
-
-2000-06-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/sndfile.h
-    Add checking for and handling of header-less u-law encoded AU/SND files.
-    Any file with a ".au" or ".snd" file extension and without the normal
-    AU file header is treated as an 8kHz, u-law encoded file.
-
-    * src/au.h
-    New function for opening a headerless u-law encoded file for read.
-
-2000-06-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    Add checking for files shorter than minimal PAF file header length.
-
-2000-06-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.c
-    Added extra sf_perror() calls when sf_write_XXXX fails.
-
-2000-05-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Modified usage of va_arg() macro to work correctly on PowerPC
-    Linux. Thanks to Kyle Wheeler for giving me ssh access to his
-    machine while I was trying to track this down.
-
-    * configure.in src/*.[ch]
-    Sorted out some endian-ness issues brought up by PowerPC Linux.
-
-    * tests/read_seek_test.c
-    Added extra debugging for when tests fail.
-
-2000-05-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
-    to Sigbjørn Skjæret for reporting this.
-
-2000-04-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/wav.c src/wav_gsm610.c
-    Finallised writing of GSM 6.10 WAV files.
-
-    * tests/lossy_comp_test.c
-    Wrote new test code for GSM 6.10 files.
-
-    * examples/sfinfo.c
-    Fixed incorrect format in printf() statement.
-
-2000-04-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h.in
-    Fixed comments about sf_perror () and sf_error_str ().
-
-2000-03-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Fixed --enable-justsrc option.
-
-2000-03-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * wav.c
-    Fixed checking of bytespersec field of header. Still some weirdness
-    with some files.
-
-2000-03-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/lossy_comp_test.c
-    Added option to test PCM WAV files (sanity check).
-    Fixed bug in sf_seek() tests.
-
-2000-02-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/wav.c
-    Minor changes to allow writing of GSM 6.10 WAV files.
-
-2000-02-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in Makefile.am src/Makefile.am
-    Finally got around to figuring out how to build a single library from
-    multiple source directories.
-    Reading GSM 6.10 files now seems to work.
-
-2000-01-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Added more error reporting in read_fmt_chunk().
-
-1999-12-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfinfo.c
-    Modified program to accept multiple filenames from the command line.
-
-1999-11-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_ima_adpcm.c
-    Moved code around in preparation to adding ability to read/write IMA ADPCM
-    encoded AIFF files.
-
-1999-11-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Fixed put_int() and put_short() macros used by _psf_hprintf() which were
-    causing seg. faults on Sparc Solaris.
-
-1999-11-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.c
-    Added string.h to includes. Thanks to Sigbjxrn Skjfret.
-
-    * src/svx.c
-    Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
-    set.
-
-1999-10-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c
-    Fixed handling of incorrect size field in AU header on read. Thanks to
-    Christoph Lauer for finding this problem.
-
-1999-09-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fixed a bug with incorrect SSND chunk length being written. This also lead
-    to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
-    pointing this out.
-
-1999-09-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
-    came to light when implementing tests for the new functions which operate
-    in terms of frames rather than items.
-
-1999-09-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Modified file type detection to use first 12 bytes of file rather than
-    file name extension. Required this because NIST files use the same
-    filename extension as Microsoft WAV files.
-
-    * src/sndfile.c src/sndfile.h
-    Added short, int and double read/write functions which work in frames
-    rather than items. This was originally suggested by Maurizio Umberto
-    Puxeddu.
-
-1999-09-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/svx.c
-    Finished off implementation of write using __psf_hprintf().
-
-1999-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/common.h
-    Added a buffer to SF_PRIVATE for writing the header. This is required
-    to make generating headers for IFF/SVX files easier as well as making
-    it easier to do re-write the headers which will be required when
-    sf_rewrite_header() is implemented.
-
-    * src/common.c
-    Implemented __psf_hprintf() function. This is an internal function
-    which is documented briefly just above the code.
-
-1999-09-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed a bug in sf_write_raw() where it was returning incorrect values
-    (thanks to Richard Dobson for finding this one). Must put in a test
-    routine for sf_read_raw and sf_write_raw.
-
-    * src/aiff.c
-    Fixed default FORMsize in __aiff_open_write ().
-
-    * src/sndfile.c
-    Added copy of filename to internal data structure. IFF/SVX files
-    contain a NAME header chunk. Both sf_open_read() and sf_open_write()
-    copy the file name (less the leading path information) to the
-    filename field.
-
-    * src/svx.c
-    Started implementing writing of files.
-
-1999-08-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/svx.c
-    New file for reading/writing 8SVX and 16SVX files.
-
-    * src/sndfile.[ch] src/common.h
-    Changes for SVX files.
-
-    * src/aiff.c
-    Fixed header parsing when unknown chunk is found.
-
-1999-08-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/paf.c
-    New file for reading/writing Ensoniq PARIS audio file format.
-
-    * src/sndfile.[ch] src/common.h
-    Changes for PAF files.
-
-    * src/sndfile.[ch]
-    Added stuff for sf_get_lib_version() function.
-
-
-1999-07-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h MacOS/config.h
-    Fixed minor MacOS configuration issues.
-
-1999-07-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * MacOS/
-    Added a new directory for the MacOS config.h file and the
-    readme file.
-
-    * src/aiff.c
-    Fixed calculation of datalength when reading SSND chunk. Thanks to
-    Sigbjørn Skjæret for pointing out this error.
-
-1999-07-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/sndfile.h src/raw.c
-    Further fixing of #includes for MacOS.
-
-1999-07-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/aiff.c
-    Added call to ferror () in main header parsing loop of __XXX_open_read
-    functions. This should fix problems on platforms (MacOS, AmigaOS) where
-    fseek()ing or fread()ing beyond the end of the file puts the FILE*
-    stream in an error state until clearerr() is called.
-
-    * tests/write_read_test.c
-    Added tests for RAW header-less PCM files.
-
-    * src/common.h
-    Moved definition of struct tribyte to pcm.c which is the only place
-    which needs it.
-
-    * src/pcm.c
-    Modified all code which assumed sizeof (struct tribyte) == 3. This code
-    did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
-
-    * src/au.c
-    Removed <sys/stat.h> from list of #includes (not being used).
-
-    * src/sndfile.c
-    Added MacOS specific #ifdef to replace <sys/stat.h>.
-
-    * src/sndfile.h
-    Added MacOS specific #ifdef to replace <sys/stat.h>.
-
-    * src/sndfile.h
-    Added MacOS specific typedef for off_t.
-
-    * MacOS-readme.txt
-    New file with instructions for building libsndfile under MacOS. Thanks
-    to Ben "Jacobs" for supplying these instructions.
-
-1999-07-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Removed sndfile.h from generated file list as there were no longer
-    any autoconf substitutions being made.
-
-    * src/raw.c
-    New file for handling raw header-less PCM files. In order to open these
-    for read, the user must specify format, pcmbitwidth and channels in the
-    SF_INFO struct when calling sf_open_read ().
-
-    * src/sndfile.c
-    Added support for raw header-less PCM files.
-
-1999-07-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * examples/sfinfo.c
-    Removed options so the sfinfo program always prints out all the information.
-
-1999-07-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/alaw.c
-    New file for A-law encoding (similar to u-law).
-
-    * tests/alaw_test.c
-    New test program to test the A-law encode/decode lookup tables.
-
-    * tests/lossy_comp_test.c
-    Added tests for a-law encoded WAV, AU and AULE files.
-
-1999-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c src/au.c
-    Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
-    this out.
-
-1999-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/ulaw_test.c
-    New test program to test the u-law encode/decode lookup tables.
-
-1999-07-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.h
-    Made corrections to comments on the return values from sf_seek ().
-
-    * src/sndfile.c
-    Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
-
-1999-07-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/au.c src/ulaw.c
-    Finished implementation of u-law encoded AU files.
-
-    * src/wav.c
-    Implemented reading and writing of u-law encoded WAV files.
-
-    * tests/
-    Changed name of adpcm_test.c to lossy_comp_test.c. This test program
-    will now be used to test Ulaw and Alaw encoding as well as APDCM.
-    Added tests for Ulaw encoded WAV files.
-
-1999-07-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/adpcm_test.c
-    Initialised amp variable in gen_signal() to remove compiler warning.
-
-1999-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    In __aiff_open_read () prevented fseek()ing beyond end of file which
-    was causing trouble on MacOS with the MetroWerks compiler. Thanks to
-    Ben "Jacobs" for pointing this out.
-
-    *src/wav.c
-    Fixed as above in __wav_open_read ().
-
-1999-07-01    Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_ms_adpcm.c
-    Implemented MS ADPCM encoding. Code cleanup of decoder.
-
-    * tests/adpcm_test.c
-    Added tests for MS ADPCM WAV files.
-
-    * src/wav_ima_adpcm.c
-    Fixed incorrect parameter in call to srate2blocksize () from
-    __ima_writer_init ().
-
-1999-06-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/read_seek_test.c
-    Added test for 8 bit AIFF files.
-
-1999-06-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.c
-    Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
-
-    * configure.in
-    Added -Wconversion to CFLAGS.
-
-    * src/*.c tests/*.c examples/*.c
-    Fixed all warnings resulting from use of -Wconversion.
-
-1999-06-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
-    WAV files.
-
-    * src/wav_ima.c
-    Changed block alignment to be dependant on sample rate. This should make
-    WAV files created with libsndfile compatible with the MS Windows media
-    players.
-
-    * tests/adpcm_test.c
-    Reimplemented adpcm_test_short and implemented adpcm_test_int and
-    adpcm_test_double.
-    Now have full testing of IMA ADPCM WAV file read, write and seek.
-
-1999-06-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_float.c
-    Fixed function prototype for x86f2d_array () which was causing ocassional
-    seg. faults on Sparc Solaris machines.
-
-1999-06-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c
-    Fixed bug in __aiff_close where the length fields in the header were
-    not being correctly calculated before writing.
-
-    * tests/write_read_test.c
-    Modified to detect the above bug in WAV, AIFF and AU files.
-
-1999-06-12    Erik de Castro Lopo     <erikd AT mega-nerd DOT com>
-
-    * Win32/*
-    Added a contribution from Albert Faber to allow libsndfile to compile
-    under Win32 systems. libsndfile will now be used as part of LAME the
-    the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
-
-1999-06-11    Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in
-    Changed to reflect previous changes.
-
-    * src/wav_ima_adpcm.c
-    Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
-
-    Fixed bug when writing from int or double data to IMA ADPCM file. Will need
-    to write test code for this.
-
-    Fixed bug in __ima_write () whereby the length of the current block was
-    calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
-
-1999-03-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/*.c
-    Changed all read/write/lseek function calls to fread/fwrite/
-    fseek/ftell and added error checking of return values from
-    fread and fwrite in critical areas of the code.
-
-    * src/au.c
-    Fixed incorrect datasize element in AU header on write.
-
-    * tests/error_test.c
-    Add new test to check all error values have an associated error
-    string. This will avoid embarrassing real world core dumps.
-
-1999-03-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c src/aiff.c
-    Added handling for unknown chunk markers in the file.
-
-1999-03-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Filled in missing error strings in SndfileErrors array. Missing entries
-    can cause core dumps when calling sf_error-str (). Thanks to Sam
-    <mrsam at-sign geocities.com> for finding this problem.
-
-1999-03-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav_ima_adpcm.c
-    Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
-    stereo files. Caused by not adjusting offset into buffer of decoded
-    samples for 2 channels. A similar bug existed in __ima_write ().
-    Need a test for stereo ADPCM files.
-
-    * src/wav_ms_adpcm.c
-    Decoder working correctly.
-
-1999-03-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * configure.in Makefile.am
-    Added --enable-justsrc configuration variable sent by Sam
-    <mrsam at-sign geocities.com>.
-
-    * src/wav_ima_adpcm.c
-    Fixed bug when reading beyond end of data section due to not
-    checking pima->blockcount.
-    This uncovered __ima_seek () bug due to pima->blockcount being set
-    before calling __ima_init_block ().
-
-1999-03-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Started implementing MS ADPCM decoder.
-    If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
-    encoder seems to add an extra byte. Why not just give an even data
-    length?
-
-1999-03-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
-    This will make it easier to add and debug other kinds of WAV files
-    in future.
-
-1999-03-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/
-    Added adpcm_test.c which implements test functions for
-    IMA ADPCM reading/writing/seeking etc.
-
-    * src/wav.c
-    Fixed many bugs in IMA ADPCM encoder and decoder.
-
-1999-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
-
-1999-03-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/wav.c
-    Started implementing IMA ADPCM decoder.
-
-1999-03-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/sndfile.c
-    Fixed bug where the sf_read_XXX functions were returning a
-    incorrect read count when reading past end of file.
-    Fixed bug in sf_seek () when seeking backwards from end of file.
-
-    * tests/read_seek_test.c
-    Added multiple read test to short_test(), int_test () and
-    double_test ().
-    Added extra chunk to all test WAV files to test that reading
-    stops at end of 'data' chunk.
-
-1999-02-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.c
-    Added tests for little DEC endian AU files.
-
-    * src/au.c
-    Add handling for DEC format little endian AU files.
-
-1999-02-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c src/au.c src/wav.c
-    Add __psf_sprintf calls during header parsing.
-
-    * src/sndfile.c src/common.c
-    Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
-
-    * tests/write_read_test.c
-    Added tests for 8 bit PCM files (WAV, AIFF and AU).
-
-    * src/au.c src/aiff.c
-    Add handling of 8 bit PCM data format.
-
-    * src/aiff.c
-    On write, set blocksize in SSND chunk to zero like everybody else.
-
-1999-02-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c:
-    Fixed bug in let2s_array (cptr was not being initialised).
-
-    * src/sndfile.c:
-    Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
-    now work when using these functions.
-
-1999-02-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * tests/write_read_test.c:
-    Force test_buffer array to be double aligned. Sparc Solaris
-    requires this.
-
-1999-02-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/pcm.c:
-    Fixed a bug which was causing errors in the reading
-    and writing of 24 bit PCM files.
-
-    * doc/api.html
-    Finished of preliminary documentaion.
-
-1999-02-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>
-
-    * src/aiff.c:
-    Changed reading of 'COMM' chunk to avoid reading an int
-    which overlaps an int (4 byte) boundary.
-
diff --git a/fdmdv2/libsndfile/NEWS b/fdmdv2/libsndfile/NEWS
deleted file mode 100644 (file)
index 9626d45..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-Version 1.0.25 (2011-07-13)
-  * Fix for Secunia Advisory SA45125, heap overflow in PAF file handler.
-  * Accept broken WAV files with blockalign == 0.
-  * Minor bug fixes and improvements.
-
-Version 1.0.24 (2011-03-23)
-  * WAV files now have an 18 byte u-law and A-law fmt chunk.
-  * Document virtual I/O functionality.
-  * Two new methods rawHandle() and takeOwnership() in sndfile.hh.
-  * AIFF fix for non-zero offset value in SSND chunk.
-  * Minor bug fixes and improvements.
-
-Version 1.0.23 (2010-10-10)
-  * Add version metadata to Windows DLL.
-  * Add a missing 'inline' to sndfile.hh.
-  * Update docs.
-  * Minor bug fixes and improvements.
-
-Version 1.0.22 (2010-10-04)
-  * Couple of fixes for SDS file writer.
-  * Fixes arising from static analysis.
-  * Handle FLAC files with ID3 meta data at start of file.
-  * Handle FLAC files which report zero length.
-  * Other minor bug fixes and improvements.
-
-Version 1.0.21 (2009-12-13)
-  * Add a couple of new binary programs to programs/ dir.
-  * Remove sndfile-jackplay (now in sndfile-tools package).
-  * Add windows only function sf_wchar_open().
-  * Bunch of minor bug fixes.
-
-Version 1.0.20 (2009-05-14)
-  * Fix potential heap overflow in VOC file parser (Tobias Klein, http://www.trapkit.de/).
-
-Version 1.0.19 (2009-03-02)
-  * Fix for CVE-2009-0186 (Alin Rad Pop, Secunia Research).
-  * Huge number of minor bug fixes as a result of static analysis.
-
-Version 1.0.18 (2009-02-07)
-  * Add Ogg/Vorbis support (thanks to John ffitch).
-  * Remove captive FLAC library.
-  * Many new features and bug fixes.
-  * Generate Win32 and Win64 pre-compiled binaries.
-
-Version 1.0.17 (2006-08-31)
-  * Add sndfile.hh C++ wrapper.
-  * Update Win32 MinGW build instructions.
-  * Minor bug fixes and cleanups.
-
-Version 1.0.16 (2006-04-30)
-  * Add support for Broadcast (BEXT) chunks in WAV files.
-  * Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
-  * Add support for RIFX (big endian WAV variant).
-  * Fix configure script bugs.
-  * Fix bug in INST and MARK chunk writing for AIFF files.
-
-Version 1.0.15 (2006-03-16)
-  * Fix some ia64 issues.
-  * Fix precompiled DLL.
-  * Minor bug fixes.
-
-Version 1.0.14 (2006-02-19)
-  * Really fix MinGW compile problems.
-  * Minor bug fixes.
-
-Version 1.0.13 (2006-01-21)
-  * Fix for MinGW compiler problems.
-  * Allow readin/write of instrument chunks from WAV and AIFF files.
-  * Compile problem fix for Solaris compiler.
-  * Minor cleanups and bug fixes.
-
-Version 1.0.12 (2005-09-30)
-  * Add support for FLAC and Apple's Core Audio Format (CAF).
-  * Add virtual I/O interface (still needs docs).
-  * Cygwin and other Win32 fixes.
-  * Minor bug fixes and cleanups.
-
-Version 1.0.11 (2004-11-15)
-  * Add support for SD2 files.
-  * Add read support for loop info in WAV and AIFF files.
-  * Add more tests.
-  * Improve type safety.
-  * Minor optimisations and bug fixes.
-
-Version 1.0.10 (2004-06-15)
-  * Fix AIFF read/write mode bugs.
-  * Add support for compiling Win32 DLLS using MinGW.
-  * Fix problems resulting in failed compiles with gcc-2.95.
-  * Improve test suite.
-  * Minor bug fixes.
-
-Version 1.0.9 (2004-03-30)
-  * Add handling of AVR (Audio Visual Research) files.
-  * Improve handling of WAVEFORMATEXTENSIBLE WAV files.
-  * Fix for using pipes on Win32.
-
-Version 1.0.8 (2004-03-14)
-  * Correct peak chunk handing for files with > 16 tracks.
-  * Fix for WAV files with huge number of CUE chunks.
-
-Version 1.0.7 (2004-02-25)
-  * Fix clip mode detection on ia64, MIPS and other CPUs.
-  * Fix two MacOSX build problems.
-
-Version 1.0.6 (2004-02-08)
-  * Added support for native Win32 file access API (Ross Bencina).
-  * New mode to add clippling then a converting from float/double to integer
-    would otherwise wrap around.
-  * Fixed a bug in reading/writing files > 2Gig on Linux, Solaris and others.
-  * Many minor bug fixes.
-  * Other random fixes for Win32.
-
-Version 1.0.5 (2003-05-03)
-  * Added support for HTK files.
-  * Added new function sf_open_fd() to allow for secure opening of temporary
-    files as well as reading/writing sound files embedded within larger
-    container files.
-  * Added string support for AIFF files.
-  * Minor bug fixes and code cleanups.
-
-Version 1.0.4 (2003-02-02)
-  * Added suport of PVF and XI files.
-  * Added functionality for setting and retreiving strings from sound files.
-  * Minor code cleanups and bug fixes.
-
-Version 1.0.3 (2002-12-09)
-  * Minor bug fixes.
-
-Version 1.0.2 (2002-11-24)
-  * Added support for VOX ADPCM.
-  * Improved error reporting.
-  * Added version scripting on Linux and Solaris.
-  * Minor bug fixes.
-
-Version 1.0.1 (2002-09-14)
-  * Added MAT and MAT5 file formats.
-  * Minor bug fixes.
-
-Version 1.0.0 (2002-08-16)
-  * Final release for 1.0.0.
-
-Version 1.0.0rc6 (2002-08-14)
-  * Release candidate 6 for the 1.0.0 series.
-  * MacOS9 fixes.
-
-Version 1.0.0rc5 (2002-08-10)
-  * Release candidate 5 for the 1.0.0 series.
-  * Changed the definition of sf_count_t which was causing problems when
-    libsndfile was compiled with other libraries (ie WxWindows).
-  * Minor bug fixes.
-  * Documentation cleanup.
-
-Version 1.0.0rc4 (2002-08-03)
-  * Release candidate 4 for the 1.0.0 series.
-  * Minor bug fixes.
-  * Fix broken Win32 "make check".
-
-Version 1.0.0rc3 (2002-08-02)
-  * Release candidate 3 for the 1.0.0 series.
-  * Fix bug where libsndfile was reading beyond the end of the data chunk.
-  * Added on-the-fly header updates on write.
-  * Fix a couple of documentation issues.
-
-Version 1.0.0rc2 (2002-06-24)
-  * Release candidate 2 for the 1.0.0 series.
-  * Fix compile problem for Win32.
-
-Version 1.0.0rc1 (2002-06-24)
-  * Release candidate 1 for the 1.0.0 series.
-
-Version 0.0.28 (2002-04-27)
-  * Last offical release of 0.0.X series of the library.
-
-Version 0.0.8 (1999-02-16)
-  * First offical release.
diff --git a/fdmdv2/libsndfile/Projects/w32-cygwin/Makefile b/fdmdv2/libsndfile/Projects/w32-cygwin/Makefile
deleted file mode 100644 (file)
index a05f28c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-TARGETS = test.exe
-
-test.exe : test.c sndfile.h libsndfile-1.dll
-       gcc -I . $< libsndfile-1.dll -o $@
-
-# Need to patch the MinGW sndfile.h for Cygwin.
-sndfile.h : ../../include/sndfile.h
-       sed "s/typedef\s__int64\s/typedef int64_t /" $+ > $@
-
-# Need the DLL in the local directory.
-libsndfile-1.dll : ../../bin/libsndfile-1.dll
-       cp -f $+ $@
-
diff --git a/fdmdv2/libsndfile/Projects/w32-cygwin/libsndfile-1.dll b/fdmdv2/libsndfile/Projects/w32-cygwin/libsndfile-1.dll
deleted file mode 100644 (file)
index 545ffb5..0000000
Binary files a/fdmdv2/libsndfile/Projects/w32-cygwin/libsndfile-1.dll and /dev/null differ
diff --git a/fdmdv2/libsndfile/Projects/w32-cygwin/sndfile.h b/fdmdv2/libsndfile/Projects/w32-cygwin/sndfile.h
deleted file mode 100644 (file)
index f6f1653..0000000
+++ /dev/null
@@ -1,666 +0,0 @@
-/*
-** Copyright (C) 1999-2011Erik de Castro Lopo <erikd@mega-nerd.com>
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU Lesser General Public License as published by
-** the Free Software Foundation; either version 2.1 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
-** sndfile.h -- system-wide definitions
-**
-** API documentation is in the doc/ directory of the source code tarball
-** and at http://www.mega-nerd.com/libsndfile/api.html.
-*/
-
-#ifndef SNDFILE_H
-#define SNDFILE_H
-
-/* This is the version 1.0.X header file. */
-#define        SNDFILE_1
-
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* The following file types can be read and written.
-** A file type would consist of a major type (ie SF_FORMAT_WAV) bitwise
-** ORed with a minor type (ie SF_FORMAT_PCM). SF_FORMAT_TYPEMASK and
-** SF_FORMAT_SUBMASK can be used to separate the major and minor file
-** types.
-*/
-
-enum
-{      /* Major formats. */
-       SF_FORMAT_WAV                   = 0x010000,             /* Microsoft WAV format (little endian default). */
-       SF_FORMAT_AIFF                  = 0x020000,             /* Apple/SGI AIFF format (big endian). */
-       SF_FORMAT_AU                    = 0x030000,             /* Sun/NeXT AU format (big endian). */
-       SF_FORMAT_RAW                   = 0x040000,             /* RAW PCM data. */
-       SF_FORMAT_PAF                   = 0x050000,             /* Ensoniq PARIS file format. */
-       SF_FORMAT_SVX                   = 0x060000,             /* Amiga IFF / SVX8 / SV16 format. */
-       SF_FORMAT_NIST                  = 0x070000,             /* Sphere NIST format. */
-       SF_FORMAT_VOC                   = 0x080000,             /* VOC files. */
-       SF_FORMAT_IRCAM                 = 0x0A0000,             /* Berkeley/IRCAM/CARL */
-       SF_FORMAT_W64                   = 0x0B0000,             /* Sonic Foundry's 64 bit RIFF/WAV */
-       SF_FORMAT_MAT4                  = 0x0C0000,             /* Matlab (tm) V4.2 / GNU Octave 2.0 */
-       SF_FORMAT_MAT5                  = 0x0D0000,             /* Matlab (tm) V5.0 / GNU Octave 2.1 */
-       SF_FORMAT_PVF                   = 0x0E0000,             /* Portable Voice Format */
-       SF_FORMAT_XI                    = 0x0F0000,             /* Fasttracker 2 Extended Instrument */
-       SF_FORMAT_HTK                   = 0x100000,             /* HMM Tool Kit format */
-       SF_FORMAT_SDS                   = 0x110000,             /* Midi Sample Dump Standard */
-       SF_FORMAT_AVR                   = 0x120000,             /* Audio Visual Research */
-       SF_FORMAT_WAVEX                 = 0x130000,             /* MS WAVE with WAVEFORMATEX */
-       SF_FORMAT_SD2                   = 0x160000,             /* Sound Designer 2 */
-       SF_FORMAT_FLAC                  = 0x170000,             /* FLAC lossless file format */
-       SF_FORMAT_CAF                   = 0x180000,             /* Core Audio File format */
-       SF_FORMAT_WVE                   = 0x190000,             /* Psion WVE format */
-       SF_FORMAT_OGG                   = 0x200000,             /* Xiph OGG container */
-       SF_FORMAT_MPC2K                 = 0x210000,             /* Akai MPC 2000 sampler */
-       SF_FORMAT_RF64                  = 0x220000,             /* RF64 WAV file */
-
-       /* Subtypes from here on. */
-
-       SF_FORMAT_PCM_S8                = 0x0001,               /* Signed 8 bit data */
-       SF_FORMAT_PCM_16                = 0x0002,               /* Signed 16 bit data */
-       SF_FORMAT_PCM_24                = 0x0003,               /* Signed 24 bit data */
-       SF_FORMAT_PCM_32                = 0x0004,               /* Signed 32 bit data */
-
-       SF_FORMAT_PCM_U8                = 0x0005,               /* Unsigned 8 bit data (WAV and RAW only) */
-
-       SF_FORMAT_FLOAT                 = 0x0006,               /* 32 bit float data */
-       SF_FORMAT_DOUBLE                = 0x0007,               /* 64 bit float data */
-
-       SF_FORMAT_ULAW                  = 0x0010,               /* U-Law encoded. */
-       SF_FORMAT_ALAW                  = 0x0011,               /* A-Law encoded. */
-       SF_FORMAT_IMA_ADPCM             = 0x0012,               /* IMA ADPCM. */
-       SF_FORMAT_MS_ADPCM              = 0x0013,               /* Microsoft ADPCM. */
-
-       SF_FORMAT_GSM610                = 0x0020,               /* GSM 6.10 encoding. */
-       SF_FORMAT_VOX_ADPCM             = 0x0021,               /* OKI / Dialogix ADPCM */
-
-       SF_FORMAT_G721_32               = 0x0030,               /* 32kbs G721 ADPCM encoding. */
-       SF_FORMAT_G723_24               = 0x0031,               /* 24kbs G723 ADPCM encoding. */
-       SF_FORMAT_G723_40               = 0x0032,               /* 40kbs G723 ADPCM encoding. */
-
-       SF_FORMAT_DWVW_12               = 0x0040,               /* 12 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_16               = 0x0041,               /* 16 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_24               = 0x0042,               /* 24 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_N                = 0x0043,               /* N bit Delta Width Variable Word encoding. */
-
-       SF_FORMAT_DPCM_8                = 0x0050,               /* 8 bit differential PCM (XI only) */
-       SF_FORMAT_DPCM_16               = 0x0051,               /* 16 bit differential PCM (XI only) */
-
-       SF_FORMAT_VORBIS                = 0x0060,               /* Xiph Vorbis encoding. */
-
-       /* Endian-ness options. */
-
-       SF_ENDIAN_FILE                  = 0x00000000,   /* Default file endian-ness. */
-       SF_ENDIAN_LITTLE                = 0x10000000,   /* Force little endian-ness. */
-       SF_ENDIAN_BIG                   = 0x20000000,   /* Force big endian-ness. */
-       SF_ENDIAN_CPU                   = 0x30000000,   /* Force CPU endian-ness. */
-
-       SF_FORMAT_SUBMASK               = 0x0000FFFF,
-       SF_FORMAT_TYPEMASK              = 0x0FFF0000,
-       SF_FORMAT_ENDMASK               = 0x30000000
-} ;
-
-/*
-** The following are the valid command numbers for the sf_command()
-** interface.  The use of these commands is documented in the file
-** command.html in the doc directory of the source code distribution.
-*/
-
-enum
-{      SFC_GET_LIB_VERSION                             = 0x1000,
-       SFC_GET_LOG_INFO                                = 0x1001,
-       SFC_GET_CURRENT_SF_INFO                 = 0x1002,
-
-
-       SFC_GET_NORM_DOUBLE                             = 0x1010,
-       SFC_GET_NORM_FLOAT                              = 0x1011,
-       SFC_SET_NORM_DOUBLE                             = 0x1012,
-       SFC_SET_NORM_FLOAT                              = 0x1013,
-       SFC_SET_SCALE_FLOAT_INT_READ    = 0x1014,
-       SFC_SET_SCALE_INT_FLOAT_WRITE   = 0x1015,
-
-       SFC_GET_SIMPLE_FORMAT_COUNT             = 0x1020,
-       SFC_GET_SIMPLE_FORMAT                   = 0x1021,
-
-       SFC_GET_FORMAT_INFO                             = 0x1028,
-
-       SFC_GET_FORMAT_MAJOR_COUNT              = 0x1030,
-       SFC_GET_FORMAT_MAJOR                    = 0x1031,
-       SFC_GET_FORMAT_SUBTYPE_COUNT    = 0x1032,
-       SFC_GET_FORMAT_SUBTYPE                  = 0x1033,
-
-       SFC_CALC_SIGNAL_MAX                             = 0x1040,
-       SFC_CALC_NORM_SIGNAL_MAX                = 0x1041,
-       SFC_CALC_MAX_ALL_CHANNELS               = 0x1042,
-       SFC_CALC_NORM_MAX_ALL_CHANNELS  = 0x1043,
-       SFC_GET_SIGNAL_MAX                              = 0x1044,
-       SFC_GET_MAX_ALL_CHANNELS                = 0x1045,
-
-       SFC_SET_ADD_PEAK_CHUNK                  = 0x1050,
-       SFC_SET_ADD_HEADER_PAD_CHUNK    = 0x1051,
-
-       SFC_UPDATE_HEADER_NOW                   = 0x1060,
-       SFC_SET_UPDATE_HEADER_AUTO              = 0x1061,
-
-       SFC_FILE_TRUNCATE                               = 0x1080,
-
-       SFC_SET_RAW_START_OFFSET                = 0x1090,
-
-       SFC_SET_DITHER_ON_WRITE                 = 0x10A0,
-       SFC_SET_DITHER_ON_READ                  = 0x10A1,
-
-       SFC_GET_DITHER_INFO_COUNT               = 0x10A2,
-       SFC_GET_DITHER_INFO                             = 0x10A3,
-
-       SFC_GET_EMBED_FILE_INFO                 = 0x10B0,
-
-       SFC_SET_CLIPPING                                = 0x10C0,
-       SFC_GET_CLIPPING                                = 0x10C1,
-
-       SFC_GET_INSTRUMENT                              = 0x10D0,
-       SFC_SET_INSTRUMENT                              = 0x10D1,
-
-       SFC_GET_LOOP_INFO                               = 0x10E0,
-
-       SFC_GET_BROADCAST_INFO                  = 0x10F0,
-       SFC_SET_BROADCAST_INFO                  = 0x10F1,
-
-       SFC_GET_CHANNEL_MAP_INFO                = 0x1100,
-       SFC_SET_CHANNEL_MAP_INFO                = 0x1101,
-
-       SFC_RAW_DATA_NEEDS_ENDSWAP              = 0x1110,
-
-       /* Support for Wavex Ambisonics Format */
-       SFC_WAVEX_SET_AMBISONIC                 = 0x1200,
-       SFC_WAVEX_GET_AMBISONIC                 = 0x1201,
-
-       SFC_SET_VBR_ENCODING_QUALITY    = 0x1300,
-
-       /* Following commands for testing only. */
-       SFC_TEST_IEEE_FLOAT_REPLACE             = 0x6001,
-
-       /*
-       ** SFC_SET_ADD_* values are deprecated and will disappear at some
-       ** time in the future. They are guaranteed to be here up to and
-       ** including version 1.0.8 to avoid breakage of existng software.
-       ** They currently do nothing and will continue to do nothing.
-       */
-       SFC_SET_ADD_DITHER_ON_WRITE             = 0x1070,
-       SFC_SET_ADD_DITHER_ON_READ              = 0x1071
-} ;
-
-
-/*
-** String types that can be set and read from files. Not all file types
-** support this and even the file types which support one, may not support
-** all string types.
-*/
-
-enum
-{      SF_STR_TITLE                                    = 0x01,
-       SF_STR_COPYRIGHT                                = 0x02,
-       SF_STR_SOFTWARE                                 = 0x03,
-       SF_STR_ARTIST                                   = 0x04,
-       SF_STR_COMMENT                                  = 0x05,
-       SF_STR_DATE                                             = 0x06,
-       SF_STR_ALBUM                                    = 0x07,
-       SF_STR_LICENSE                                  = 0x08,
-       SF_STR_TRACKNUMBER                              = 0x09,
-       SF_STR_GENRE                                    = 0x10
-} ;
-
-/*
-** Use the following as the start and end index when doing metadata
-** transcoding.
-*/
-
-#define        SF_STR_FIRST    SF_STR_TITLE
-#define        SF_STR_LAST             SF_STR_GENRE
-
-enum
-{      /* True and false */
-       SF_FALSE        = 0,
-       SF_TRUE         = 1,
-
-       /* Modes for opening files. */
-       SFM_READ        = 0x10,
-       SFM_WRITE       = 0x20,
-       SFM_RDWR        = 0x30,
-
-       SF_AMBISONIC_NONE               = 0x40,
-       SF_AMBISONIC_B_FORMAT   = 0x41
-} ;
-
-/* Public error values. These are guaranteed to remain unchanged for the duration
-** of the library major version number.
-** There are also a large number of private error numbers which are internal to
-** the library which can change at any time.
-*/
-
-enum
-{      SF_ERR_NO_ERROR                         = 0,
-       SF_ERR_UNRECOGNISED_FORMAT      = 1,
-       SF_ERR_SYSTEM                           = 2,
-       SF_ERR_MALFORMED_FILE           = 3,
-       SF_ERR_UNSUPPORTED_ENCODING     = 4
-} ;
-
-
-/* Channel map values (used with SFC_SET/GET_CHANNEL_MAP).
-*/
-
-enum
-{      SF_CHANNEL_MAP_INVALID = 0,
-       SF_CHANNEL_MAP_MONO = 1,
-       SF_CHANNEL_MAP_LEFT,                                    /* Apple calls this 'Left' */
-       SF_CHANNEL_MAP_RIGHT,                                   /* Apple calls this 'Right' */
-       SF_CHANNEL_MAP_CENTER,                                  /* Apple calls this 'Center' */
-       SF_CHANNEL_MAP_FRONT_LEFT,
-       SF_CHANNEL_MAP_FRONT_RIGHT,
-       SF_CHANNEL_MAP_FRONT_CENTER,
-       SF_CHANNEL_MAP_REAR_CENTER,                             /* Apple calls this 'Center Surround', Msft calls this 'Back Center' */
-       SF_CHANNEL_MAP_REAR_LEFT,                               /* Apple calls this 'Left Surround', Msft calls this 'Back Left' */
-       SF_CHANNEL_MAP_REAR_RIGHT,                              /* Apple calls this 'Right Surround', Msft calls this 'Back Right' */
-       SF_CHANNEL_MAP_LFE,                                             /* Apple calls this 'LFEScreen', Msft calls this 'Low Frequency'  */
-       SF_CHANNEL_MAP_FRONT_LEFT_OF_CENTER,    /* Apple calls this 'Left Center' */
-       SF_CHANNEL_MAP_FRONT_RIGHT_OF_CENTER,   /* Apple calls this 'Right Center */
-       SF_CHANNEL_MAP_SIDE_LEFT,                               /* Apple calls this 'Left Surround Direct' */
-       SF_CHANNEL_MAP_SIDE_RIGHT,                              /* Apple calls this 'Right Surround Direct' */
-       SF_CHANNEL_MAP_TOP_CENTER,                              /* Apple calls this 'Top Center Surround' */
-       SF_CHANNEL_MAP_TOP_FRONT_LEFT,                  /* Apple calls this 'Vertical Height Left' */
-       SF_CHANNEL_MAP_TOP_FRONT_RIGHT,                 /* Apple calls this 'Vertical Height Right' */
-       SF_CHANNEL_MAP_TOP_FRONT_CENTER,                /* Apple calls this 'Vertical Height Center' */
-       SF_CHANNEL_MAP_TOP_REAR_LEFT,                   /* Apple and MS call this 'Top Back Left' */
-       SF_CHANNEL_MAP_TOP_REAR_RIGHT,                  /* Apple and MS call this 'Top Back Right' */
-       SF_CHANNEL_MAP_TOP_REAR_CENTER,                 /* Apple and MS call this 'Top Back Center' */
-
-       SF_CHANNEL_MAP_AMBISONIC_B_W,
-       SF_CHANNEL_MAP_AMBISONIC_B_X,
-       SF_CHANNEL_MAP_AMBISONIC_B_Y,
-       SF_CHANNEL_MAP_AMBISONIC_B_Z,
-
-       SF_CHANNEL_MAP_MAX
-} ;
-
-
-/* A SNDFILE* pointer can be passed around much like stdio.h's FILE* pointer. */
-
-typedef        struct SNDFILE_tag      SNDFILE ;
-
-/* The following typedef is system specific and is defined when libsndfile is
-** compiled. sf_count_t will be a 64 bit value when the underlying OS allows
-** 64 bit file offsets.
-** On windows, we need to allow the same header file to be compiler by both GCC
-** and the Microsoft compiler.
-*/
-
-#if (defined (_MSCVER) || defined (_MSC_VER))
-typedef __int64        sf_count_t ;
-#define SF_COUNT_MAX           0x7fffffffffffffffi64
-#else
-typedef __int64 sf_count_t ;
-#define SF_COUNT_MAX           0x7FFFFFFFFFFFFFFFLL
-#endif
-
-
-/* A pointer to a SF_INFO structure is passed to sf_open () and filled in.
-** On write, the SF_INFO structure is filled in by the user and passed into
-** sf_open ().
-*/
-
-struct SF_INFO
-{      sf_count_t      frames ;                /* Used to be called samples.  Changed to avoid confusion. */
-       int                     samplerate ;
-       int                     channels ;
-       int                     format ;
-       int                     sections ;
-       int                     seekable ;
-} ;
-
-typedef        struct SF_INFO SF_INFO ;
-
-/* The SF_FORMAT_INFO struct is used to retrieve information about the sound
-** file formats libsndfile supports using the sf_command () interface.
-**
-** Using this interface will allow applications to support new file formats
-** and encoding types when libsndfile is upgraded, without requiring
-** re-compilation of the application.
-**
-** Please consult the libsndfile documentation (particularly the information
-** on the sf_command () interface) for examples of its use.
-*/
-
-typedef struct
-{      int                     format ;
-       const char      *name ;
-       const char      *extension ;
-} SF_FORMAT_INFO ;
-
-/*
-** Enums and typedefs for adding dither on read and write.
-** See the html documentation for sf_command(), SFC_SET_DITHER_ON_WRITE
-** and SFC_SET_DITHER_ON_READ.
-*/
-
-enum
-{      SFD_DEFAULT_LEVEL       = 0,
-       SFD_CUSTOM_LEVEL        = 0x40000000,
-
-       SFD_NO_DITHER           = 500,
-       SFD_WHITE                       = 501,
-       SFD_TRIANGULAR_PDF      = 502
-} ;
-
-typedef struct
-{      int                     type ;
-       double          level ;
-       const char      *name ;
-} SF_DITHER_INFO ;
-
-/* Struct used to retrieve information about a file embedded within a
-** larger file. See SFC_GET_EMBED_FILE_INFO.
-*/
-
-typedef struct
-{      sf_count_t      offset ;
-       sf_count_t      length ;
-} SF_EMBED_FILE_INFO ;
-
-/*
-**     Structs used to retrieve music sample information from a file.
-*/
-
-enum
-{      /*
-       **      The loop mode field in SF_INSTRUMENT will be one of the following.
-       */
-       SF_LOOP_NONE = 800,
-       SF_LOOP_FORWARD,
-       SF_LOOP_BACKWARD,
-       SF_LOOP_ALTERNATING
-} ;
-
-typedef struct
-{      int gain ;
-       char basenote, detune ;
-       char velocity_lo, velocity_hi ;
-       char key_lo, key_hi ;
-       int loop_count ;
-
-       struct
-       {       int mode ;
-               unsigned int start ;
-               unsigned int end ;
-               unsigned int count ;
-       } loops [16] ; /* make variable in a sensible way */
-} SF_INSTRUMENT ;
-
-
-
-/* Struct used to retrieve loop information from a file.*/
-typedef struct
-{
-       short   time_sig_num ;  /* any positive integer    > 0  */
-       short   time_sig_den ;  /* any positive power of 2 > 0  */
-       int             loop_mode ;             /* see SF_LOOP enum             */
-
-       int             num_beats ;             /* this is NOT the amount of quarter notes !!!*/
-                                                       /* a full bar of 4/4 is 4 beats */
-                                                       /* a full bar of 7/8 is 7 beats */
-
-       float   bpm ;                   /* suggestion, as it can be calculated using other fields:*/
-                                                       /* file's lenght, file's sampleRate and our time_sig_den*/
-                                                       /* -> bpms are always the amount of _quarter notes_ per minute */
-
-       int     root_key ;                      /* MIDI note, or -1 for None */
-       int future [6] ;
-} SF_LOOP_INFO ;
-
-
-/*     Struct used to retrieve broadcast (EBU) information from a file.
-**     Strongly (!) based on EBU "bext" chunk format used in Broadcast WAVE.
-*/
-#define        SF_BROADCAST_INFO_VAR(coding_hist_size) \
-                       struct \
-                       {       char                    description [256] ; \
-                               char                    originator [32] ; \
-                               char                    originator_reference [32] ; \
-                               char                    origination_date [10] ; \
-                               char                    origination_time [8] ; \
-                               unsigned int    time_reference_low ; \
-                               unsigned int    time_reference_high ; \
-                               short                   version ; \
-                               char                    umid [64] ; \
-                               char                    reserved [190] ; \
-                               unsigned int    coding_history_size ; \
-                               char                    coding_history [coding_hist_size] ; \
-                       }
-
-/* SF_BROADCAST_INFO is the above struct with coding_history field of 256 bytes. */
-typedef SF_BROADCAST_INFO_VAR (256) SF_BROADCAST_INFO ;
-
-
-/*     Virtual I/O functionality. */
-
-typedef sf_count_t             (*sf_vio_get_filelen)   (void *user_data) ;
-typedef sf_count_t             (*sf_vio_seek)          (sf_count_t offset, int whence, void *user_data) ;
-typedef sf_count_t             (*sf_vio_read)          (void *ptr, sf_count_t count, void *user_data) ;
-typedef sf_count_t             (*sf_vio_write)         (const void *ptr, sf_count_t count, void *user_data) ;
-typedef sf_count_t             (*sf_vio_tell)          (void *user_data) ;
-
-struct SF_VIRTUAL_IO
-{      sf_vio_get_filelen      get_filelen ;
-       sf_vio_seek                     seek ;
-       sf_vio_read                     read ;
-       sf_vio_write            write ;
-       sf_vio_tell                     tell ;
-} ;
-
-typedef        struct SF_VIRTUAL_IO SF_VIRTUAL_IO ;
-
-
-/* Open the specified file for read, write or both. On error, this will
-** return a NULL pointer. To find the error number, pass a NULL SNDFILE
-** to sf_strerror ().
-** All calls to sf_open() should be matched with a call to sf_close().
-*/
-
-SNDFILE*       sf_open         (const char *path, int mode, SF_INFO *sfinfo) ;
-
-
-/* Use the existing file descriptor to create a SNDFILE object. If close_desc
-** is TRUE, the file descriptor will be closed when sf_close() is called. If
-** it is FALSE, the descritor will not be closed.
-** When passed a descriptor like this, the library will assume that the start
-** of file header is at the current file offset. This allows sound files within
-** larger container files to be read and/or written.
-** On error, this will return a NULL pointer. To find the error number, pass a
-** NULL SNDFILE to sf_strerror ().
-** All calls to sf_open_fd() should be matched with a call to sf_close().
-
-*/
-
-SNDFILE*       sf_open_fd      (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;
-
-SNDFILE*       sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ;
-
-
-/* sf_error () returns a error number which can be translated to a text
-** string using sf_error_number().
-*/
-
-int            sf_error                (SNDFILE *sndfile) ;
-
-
-/* sf_strerror () returns to the caller a pointer to the current error message for
-** the given SNDFILE.
-*/
-
-const char* sf_strerror (SNDFILE *sndfile) ;
-
-
-/* sf_error_number () allows the retrieval of the error string for each internal
-** error number.
-**
-*/
-
-const char*    sf_error_number (int errnum) ;
-
-
-/* The following two error functions are deprecated but they will remain in the
-** library for the forseeable future. The function sf_strerror() should be used
-** in their place.
-*/
-
-int            sf_perror               (SNDFILE *sndfile) ;
-int            sf_error_str    (SNDFILE *sndfile, char* str, size_t len) ;
-
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int            sf_command      (SNDFILE *sndfile, int command, void *data, int datasize) ;
-
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int            sf_format_check (const SF_INFO *info) ;
-
-
-/* Seek within the waveform data chunk of the SNDFILE. sf_seek () uses
-** the same values for whence (SEEK_SET, SEEK_CUR and SEEK_END) as
-** stdio.h function fseek ().
-** An offset of zero with whence set to SEEK_SET will position the
-** read / write pointer to the first data sample.
-** On success sf_seek returns the current position in (multi-channel)
-** samples from the start of the file.
-** Please see the libsndfile documentation for moving the read pointer
-** separately from the write pointer on files open in mode SFM_RDWR.
-** On error all of these functions return -1.
-*/
-
-sf_count_t     sf_seek                 (SNDFILE *sndfile, sf_count_t frames, int whence) ;
-
-
-/* Functions for retrieving and setting string data within sound files.
-** Not all file types support this features; AIFF and WAV do. For both
-** functions, the str_type parameter must be one of the SF_STR_* values
-** defined above.
-** On error, sf_set_string() returns non-zero while sf_get_string()
-** returns NULL.
-*/
-
-int sf_set_string (SNDFILE *sndfile, int str_type, const char* str) ;
-
-const char* sf_get_string (SNDFILE *sndfile, int str_type) ;
-
-
-/* Return the library version string. */
-
-const char * sf_version_string (void) ;
-
-
-/* Functions for reading/writing the waveform data of a sound file.
-*/
-
-sf_count_t     sf_read_raw             (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;
-sf_count_t     sf_write_raw    (SNDFILE *sndfile, const void *ptr, sf_count_t bytes) ;
-
-
-/* Functions for reading and writing the data chunk in terms of frames.
-** The number of items actually read/written = frames * number of channels.
-**     sf_xxxx_raw             read/writes the raw data bytes from/to the file
-**     sf_xxxx_short   passes data in the native short format
-**     sf_xxxx_int             passes data in the native int format
-**     sf_xxxx_float   passes data in the native float format
-**     sf_xxxx_double  passes data in the native double format
-** All of these read/write function return number of frames read/written.
-*/
-
-sf_count_t     sf_readf_short  (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_short (SNDFILE *sndfile, const short *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_int    (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_int   (SNDFILE *sndfile, const int *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_float  (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_float (SNDFILE *sndfile, const float *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_double         (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_double        (SNDFILE *sndfile, const double *ptr, sf_count_t frames) ;
-
-
-/* Functions for reading and writing the data chunk in terms of items.
-** Otherwise similar to above.
-** All of these read/write function return number of items read/written.
-*/
-
-sf_count_t     sf_read_short   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;
-sf_count_t     sf_write_short  (SNDFILE *sndfile, const short *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_int             (SNDFILE *sndfile, int *ptr, sf_count_t items) ;
-sf_count_t     sf_write_int    (SNDFILE *sndfile, const int *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_float   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;
-sf_count_t     sf_write_float  (SNDFILE *sndfile, const float *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_double  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;
-sf_count_t     sf_write_double (SNDFILE *sndfile, const double *ptr, sf_count_t items) ;
-
-
-/* Close the SNDFILE and clean up all memory allocations associated with this
-** file.
-** Returns 0 on success, or an error number.
-*/
-
-int            sf_close                (SNDFILE *sndfile) ;
-
-
-/* If the file is opened SFM_WRITE or SFM_RDWR, call fsync() on the file
-** to force the writing of data to disk. If the file is opened SFM_READ
-** no action is taken.
-*/
-
-void   sf_write_sync   (SNDFILE *sndfile) ;
-
-
-
-/* The function sf_wchar_open() is Windows Only!
-** Open a file passing in a Windows Unicode filename. Otherwise, this is
-** the same as sf_open().
-**
-** In order for this to work, you need to do the following:
-**
-**             #include <windows.h>
-**             #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1
-**             #including <sndfile.h>
-*/
-
-#if (defined (ENABLE_SNDFILE_WINDOWS_PROTOTYPES) && ENABLE_SNDFILE_WINDOWS_PROTOTYPES)
-SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ;
-#endif
-
-
-
-#ifdef __cplusplus
-}              /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* SNDFILE_H */
-
diff --git a/fdmdv2/libsndfile/Projects/w32-cygwin/test.c b/fdmdv2/libsndfile/Projects/w32-cygwin/test.c
deleted file mode 100644 (file)
index a6fe9e0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>\r
-\r
-#include <sndfile.h>\r
-\r
-int\r
-main (void)\r
-{\r
-       char buf [1024] ;\r
-\r
-       sf_command (NULL, SFC_GET_LIB_VERSION, buf, sizeof (buf)) ;\r
-       puts (buf) ;\r
-\r
-       return 0 ;\r
-}\r
diff --git a/fdmdv2/libsndfile/Projects/w32-cygwin/test.exe b/fdmdv2/libsndfile/Projects/w32-cygwin/test.exe
deleted file mode 100644 (file)
index 54c0349..0000000
Binary files a/fdmdv2/libsndfile/Projects/w32-cygwin/test.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/Debug/.d b/fdmdv2/libsndfile/Projects/w32-mingw/Debug/.d
deleted file mode 100644 (file)
index 950b468..0000000
+++ /dev/null
@@ -1 +0,0 @@
-"" \r
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/Makefile b/fdmdv2/libsndfile/Projects/w32-mingw/Makefile
deleted file mode 100644 (file)
index 6ebceec..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-TARGETS = test.exe
-
-test.exe : test.c sndfile.h libsndfile-1.dll
-       gcc -I . $< libsndfile-1.dll -o $@
-
-# Need to the MinGW sndfile.h
-sndfile.h : ../../include/sndfile.h
-       cp -f $+ $@
-
-# Need the DLL in the local directory.
-libsndfile-1.dll : ../../bin/libsndfile-1.dll
-       cp -f $+ $@
-
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/Release/.d b/fdmdv2/libsndfile/Projects/w32-mingw/Release/.d
deleted file mode 100644 (file)
index 950b468..0000000
+++ /dev/null
@@ -1 +0,0 @@
-"" \r
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/libsndfile-1.dll b/fdmdv2/libsndfile/Projects/w32-mingw/libsndfile-1.dll
deleted file mode 100644 (file)
index 545ffb5..0000000
Binary files a/fdmdv2/libsndfile/Projects/w32-mingw/libsndfile-1.dll and /dev/null differ
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/main.cpp b/fdmdv2/libsndfile/Projects/w32-mingw/main.cpp
deleted file mode 100644 (file)
index 52d432a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include "sndfile.h"\r
-
-int main(int argc, char **argv)
-{
-    char buf [1024] ;\r
-\r
-    sf_command (NULL, SFC_GET_LIB_VERSION, buf, sizeof (buf)) ;\r
-    puts (buf) ;\r
-    printf("\nhello world\n");
-\r
-    return 0 ;\r
-}
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/sndfile.h b/fdmdv2/libsndfile/Projects/w32-mingw/sndfile.h
deleted file mode 100644 (file)
index f6f1653..0000000
+++ /dev/null
@@ -1,666 +0,0 @@
-/*
-** Copyright (C) 1999-2011Erik de Castro Lopo <erikd@mega-nerd.com>
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU Lesser General Public License as published by
-** the Free Software Foundation; either version 2.1 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
-** sndfile.h -- system-wide definitions
-**
-** API documentation is in the doc/ directory of the source code tarball
-** and at http://www.mega-nerd.com/libsndfile/api.html.
-*/
-
-#ifndef SNDFILE_H
-#define SNDFILE_H
-
-/* This is the version 1.0.X header file. */
-#define        SNDFILE_1
-
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* The following file types can be read and written.
-** A file type would consist of a major type (ie SF_FORMAT_WAV) bitwise
-** ORed with a minor type (ie SF_FORMAT_PCM). SF_FORMAT_TYPEMASK and
-** SF_FORMAT_SUBMASK can be used to separate the major and minor file
-** types.
-*/
-
-enum
-{      /* Major formats. */
-       SF_FORMAT_WAV                   = 0x010000,             /* Microsoft WAV format (little endian default). */
-       SF_FORMAT_AIFF                  = 0x020000,             /* Apple/SGI AIFF format (big endian). */
-       SF_FORMAT_AU                    = 0x030000,             /* Sun/NeXT AU format (big endian). */
-       SF_FORMAT_RAW                   = 0x040000,             /* RAW PCM data. */
-       SF_FORMAT_PAF                   = 0x050000,             /* Ensoniq PARIS file format. */
-       SF_FORMAT_SVX                   = 0x060000,             /* Amiga IFF / SVX8 / SV16 format. */
-       SF_FORMAT_NIST                  = 0x070000,             /* Sphere NIST format. */
-       SF_FORMAT_VOC                   = 0x080000,             /* VOC files. */
-       SF_FORMAT_IRCAM                 = 0x0A0000,             /* Berkeley/IRCAM/CARL */
-       SF_FORMAT_W64                   = 0x0B0000,             /* Sonic Foundry's 64 bit RIFF/WAV */
-       SF_FORMAT_MAT4                  = 0x0C0000,             /* Matlab (tm) V4.2 / GNU Octave 2.0 */
-       SF_FORMAT_MAT5                  = 0x0D0000,             /* Matlab (tm) V5.0 / GNU Octave 2.1 */
-       SF_FORMAT_PVF                   = 0x0E0000,             /* Portable Voice Format */
-       SF_FORMAT_XI                    = 0x0F0000,             /* Fasttracker 2 Extended Instrument */
-       SF_FORMAT_HTK                   = 0x100000,             /* HMM Tool Kit format */
-       SF_FORMAT_SDS                   = 0x110000,             /* Midi Sample Dump Standard */
-       SF_FORMAT_AVR                   = 0x120000,             /* Audio Visual Research */
-       SF_FORMAT_WAVEX                 = 0x130000,             /* MS WAVE with WAVEFORMATEX */
-       SF_FORMAT_SD2                   = 0x160000,             /* Sound Designer 2 */
-       SF_FORMAT_FLAC                  = 0x170000,             /* FLAC lossless file format */
-       SF_FORMAT_CAF                   = 0x180000,             /* Core Audio File format */
-       SF_FORMAT_WVE                   = 0x190000,             /* Psion WVE format */
-       SF_FORMAT_OGG                   = 0x200000,             /* Xiph OGG container */
-       SF_FORMAT_MPC2K                 = 0x210000,             /* Akai MPC 2000 sampler */
-       SF_FORMAT_RF64                  = 0x220000,             /* RF64 WAV file */
-
-       /* Subtypes from here on. */
-
-       SF_FORMAT_PCM_S8                = 0x0001,               /* Signed 8 bit data */
-       SF_FORMAT_PCM_16                = 0x0002,               /* Signed 16 bit data */
-       SF_FORMAT_PCM_24                = 0x0003,               /* Signed 24 bit data */
-       SF_FORMAT_PCM_32                = 0x0004,               /* Signed 32 bit data */
-
-       SF_FORMAT_PCM_U8                = 0x0005,               /* Unsigned 8 bit data (WAV and RAW only) */
-
-       SF_FORMAT_FLOAT                 = 0x0006,               /* 32 bit float data */
-       SF_FORMAT_DOUBLE                = 0x0007,               /* 64 bit float data */
-
-       SF_FORMAT_ULAW                  = 0x0010,               /* U-Law encoded. */
-       SF_FORMAT_ALAW                  = 0x0011,               /* A-Law encoded. */
-       SF_FORMAT_IMA_ADPCM             = 0x0012,               /* IMA ADPCM. */
-       SF_FORMAT_MS_ADPCM              = 0x0013,               /* Microsoft ADPCM. */
-
-       SF_FORMAT_GSM610                = 0x0020,               /* GSM 6.10 encoding. */
-       SF_FORMAT_VOX_ADPCM             = 0x0021,               /* OKI / Dialogix ADPCM */
-
-       SF_FORMAT_G721_32               = 0x0030,               /* 32kbs G721 ADPCM encoding. */
-       SF_FORMAT_G723_24               = 0x0031,               /* 24kbs G723 ADPCM encoding. */
-       SF_FORMAT_G723_40               = 0x0032,               /* 40kbs G723 ADPCM encoding. */
-
-       SF_FORMAT_DWVW_12               = 0x0040,               /* 12 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_16               = 0x0041,               /* 16 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_24               = 0x0042,               /* 24 bit Delta Width Variable Word encoding. */
-       SF_FORMAT_DWVW_N                = 0x0043,               /* N bit Delta Width Variable Word encoding. */
-
-       SF_FORMAT_DPCM_8                = 0x0050,               /* 8 bit differential PCM (XI only) */
-       SF_FORMAT_DPCM_16               = 0x0051,               /* 16 bit differential PCM (XI only) */
-
-       SF_FORMAT_VORBIS                = 0x0060,               /* Xiph Vorbis encoding. */
-
-       /* Endian-ness options. */
-
-       SF_ENDIAN_FILE                  = 0x00000000,   /* Default file endian-ness. */
-       SF_ENDIAN_LITTLE                = 0x10000000,   /* Force little endian-ness. */
-       SF_ENDIAN_BIG                   = 0x20000000,   /* Force big endian-ness. */
-       SF_ENDIAN_CPU                   = 0x30000000,   /* Force CPU endian-ness. */
-
-       SF_FORMAT_SUBMASK               = 0x0000FFFF,
-       SF_FORMAT_TYPEMASK              = 0x0FFF0000,
-       SF_FORMAT_ENDMASK               = 0x30000000
-} ;
-
-/*
-** The following are the valid command numbers for the sf_command()
-** interface.  The use of these commands is documented in the file
-** command.html in the doc directory of the source code distribution.
-*/
-
-enum
-{      SFC_GET_LIB_VERSION                             = 0x1000,
-       SFC_GET_LOG_INFO                                = 0x1001,
-       SFC_GET_CURRENT_SF_INFO                 = 0x1002,
-
-
-       SFC_GET_NORM_DOUBLE                             = 0x1010,
-       SFC_GET_NORM_FLOAT                              = 0x1011,
-       SFC_SET_NORM_DOUBLE                             = 0x1012,
-       SFC_SET_NORM_FLOAT                              = 0x1013,
-       SFC_SET_SCALE_FLOAT_INT_READ    = 0x1014,
-       SFC_SET_SCALE_INT_FLOAT_WRITE   = 0x1015,
-
-       SFC_GET_SIMPLE_FORMAT_COUNT             = 0x1020,
-       SFC_GET_SIMPLE_FORMAT                   = 0x1021,
-
-       SFC_GET_FORMAT_INFO                             = 0x1028,
-
-       SFC_GET_FORMAT_MAJOR_COUNT              = 0x1030,
-       SFC_GET_FORMAT_MAJOR                    = 0x1031,
-       SFC_GET_FORMAT_SUBTYPE_COUNT    = 0x1032,
-       SFC_GET_FORMAT_SUBTYPE                  = 0x1033,
-
-       SFC_CALC_SIGNAL_MAX                             = 0x1040,
-       SFC_CALC_NORM_SIGNAL_MAX                = 0x1041,
-       SFC_CALC_MAX_ALL_CHANNELS               = 0x1042,
-       SFC_CALC_NORM_MAX_ALL_CHANNELS  = 0x1043,
-       SFC_GET_SIGNAL_MAX                              = 0x1044,
-       SFC_GET_MAX_ALL_CHANNELS                = 0x1045,
-
-       SFC_SET_ADD_PEAK_CHUNK                  = 0x1050,
-       SFC_SET_ADD_HEADER_PAD_CHUNK    = 0x1051,
-
-       SFC_UPDATE_HEADER_NOW                   = 0x1060,
-       SFC_SET_UPDATE_HEADER_AUTO              = 0x1061,
-
-       SFC_FILE_TRUNCATE                               = 0x1080,
-
-       SFC_SET_RAW_START_OFFSET                = 0x1090,
-
-       SFC_SET_DITHER_ON_WRITE                 = 0x10A0,
-       SFC_SET_DITHER_ON_READ                  = 0x10A1,
-
-       SFC_GET_DITHER_INFO_COUNT               = 0x10A2,
-       SFC_GET_DITHER_INFO                             = 0x10A3,
-
-       SFC_GET_EMBED_FILE_INFO                 = 0x10B0,
-
-       SFC_SET_CLIPPING                                = 0x10C0,
-       SFC_GET_CLIPPING                                = 0x10C1,
-
-       SFC_GET_INSTRUMENT                              = 0x10D0,
-       SFC_SET_INSTRUMENT                              = 0x10D1,
-
-       SFC_GET_LOOP_INFO                               = 0x10E0,
-
-       SFC_GET_BROADCAST_INFO                  = 0x10F0,
-       SFC_SET_BROADCAST_INFO                  = 0x10F1,
-
-       SFC_GET_CHANNEL_MAP_INFO                = 0x1100,
-       SFC_SET_CHANNEL_MAP_INFO                = 0x1101,
-
-       SFC_RAW_DATA_NEEDS_ENDSWAP              = 0x1110,
-
-       /* Support for Wavex Ambisonics Format */
-       SFC_WAVEX_SET_AMBISONIC                 = 0x1200,
-       SFC_WAVEX_GET_AMBISONIC                 = 0x1201,
-
-       SFC_SET_VBR_ENCODING_QUALITY    = 0x1300,
-
-       /* Following commands for testing only. */
-       SFC_TEST_IEEE_FLOAT_REPLACE             = 0x6001,
-
-       /*
-       ** SFC_SET_ADD_* values are deprecated and will disappear at some
-       ** time in the future. They are guaranteed to be here up to and
-       ** including version 1.0.8 to avoid breakage of existng software.
-       ** They currently do nothing and will continue to do nothing.
-       */
-       SFC_SET_ADD_DITHER_ON_WRITE             = 0x1070,
-       SFC_SET_ADD_DITHER_ON_READ              = 0x1071
-} ;
-
-
-/*
-** String types that can be set and read from files. Not all file types
-** support this and even the file types which support one, may not support
-** all string types.
-*/
-
-enum
-{      SF_STR_TITLE                                    = 0x01,
-       SF_STR_COPYRIGHT                                = 0x02,
-       SF_STR_SOFTWARE                                 = 0x03,
-       SF_STR_ARTIST                                   = 0x04,
-       SF_STR_COMMENT                                  = 0x05,
-       SF_STR_DATE                                             = 0x06,
-       SF_STR_ALBUM                                    = 0x07,
-       SF_STR_LICENSE                                  = 0x08,
-       SF_STR_TRACKNUMBER                              = 0x09,
-       SF_STR_GENRE                                    = 0x10
-} ;
-
-/*
-** Use the following as the start and end index when doing metadata
-** transcoding.
-*/
-
-#define        SF_STR_FIRST    SF_STR_TITLE
-#define        SF_STR_LAST             SF_STR_GENRE
-
-enum
-{      /* True and false */
-       SF_FALSE        = 0,
-       SF_TRUE         = 1,
-
-       /* Modes for opening files. */
-       SFM_READ        = 0x10,
-       SFM_WRITE       = 0x20,
-       SFM_RDWR        = 0x30,
-
-       SF_AMBISONIC_NONE               = 0x40,
-       SF_AMBISONIC_B_FORMAT   = 0x41
-} ;
-
-/* Public error values. These are guaranteed to remain unchanged for the duration
-** of the library major version number.
-** There are also a large number of private error numbers which are internal to
-** the library which can change at any time.
-*/
-
-enum
-{      SF_ERR_NO_ERROR                         = 0,
-       SF_ERR_UNRECOGNISED_FORMAT      = 1,
-       SF_ERR_SYSTEM                           = 2,
-       SF_ERR_MALFORMED_FILE           = 3,
-       SF_ERR_UNSUPPORTED_ENCODING     = 4
-} ;
-
-
-/* Channel map values (used with SFC_SET/GET_CHANNEL_MAP).
-*/
-
-enum
-{      SF_CHANNEL_MAP_INVALID = 0,
-       SF_CHANNEL_MAP_MONO = 1,
-       SF_CHANNEL_MAP_LEFT,                                    /* Apple calls this 'Left' */
-       SF_CHANNEL_MAP_RIGHT,                                   /* Apple calls this 'Right' */
-       SF_CHANNEL_MAP_CENTER,                                  /* Apple calls this 'Center' */
-       SF_CHANNEL_MAP_FRONT_LEFT,
-       SF_CHANNEL_MAP_FRONT_RIGHT,
-       SF_CHANNEL_MAP_FRONT_CENTER,
-       SF_CHANNEL_MAP_REAR_CENTER,                             /* Apple calls this 'Center Surround', Msft calls this 'Back Center' */
-       SF_CHANNEL_MAP_REAR_LEFT,                               /* Apple calls this 'Left Surround', Msft calls this 'Back Left' */
-       SF_CHANNEL_MAP_REAR_RIGHT,                              /* Apple calls this 'Right Surround', Msft calls this 'Back Right' */
-       SF_CHANNEL_MAP_LFE,                                             /* Apple calls this 'LFEScreen', Msft calls this 'Low Frequency'  */
-       SF_CHANNEL_MAP_FRONT_LEFT_OF_CENTER,    /* Apple calls this 'Left Center' */
-       SF_CHANNEL_MAP_FRONT_RIGHT_OF_CENTER,   /* Apple calls this 'Right Center */
-       SF_CHANNEL_MAP_SIDE_LEFT,                               /* Apple calls this 'Left Surround Direct' */
-       SF_CHANNEL_MAP_SIDE_RIGHT,                              /* Apple calls this 'Right Surround Direct' */
-       SF_CHANNEL_MAP_TOP_CENTER,                              /* Apple calls this 'Top Center Surround' */
-       SF_CHANNEL_MAP_TOP_FRONT_LEFT,                  /* Apple calls this 'Vertical Height Left' */
-       SF_CHANNEL_MAP_TOP_FRONT_RIGHT,                 /* Apple calls this 'Vertical Height Right' */
-       SF_CHANNEL_MAP_TOP_FRONT_CENTER,                /* Apple calls this 'Vertical Height Center' */
-       SF_CHANNEL_MAP_TOP_REAR_LEFT,                   /* Apple and MS call this 'Top Back Left' */
-       SF_CHANNEL_MAP_TOP_REAR_RIGHT,                  /* Apple and MS call this 'Top Back Right' */
-       SF_CHANNEL_MAP_TOP_REAR_CENTER,                 /* Apple and MS call this 'Top Back Center' */
-
-       SF_CHANNEL_MAP_AMBISONIC_B_W,
-       SF_CHANNEL_MAP_AMBISONIC_B_X,
-       SF_CHANNEL_MAP_AMBISONIC_B_Y,
-       SF_CHANNEL_MAP_AMBISONIC_B_Z,
-
-       SF_CHANNEL_MAP_MAX
-} ;
-
-
-/* A SNDFILE* pointer can be passed around much like stdio.h's FILE* pointer. */
-
-typedef        struct SNDFILE_tag      SNDFILE ;
-
-/* The following typedef is system specific and is defined when libsndfile is
-** compiled. sf_count_t will be a 64 bit value when the underlying OS allows
-** 64 bit file offsets.
-** On windows, we need to allow the same header file to be compiler by both GCC
-** and the Microsoft compiler.
-*/
-
-#if (defined (_MSCVER) || defined (_MSC_VER))
-typedef __int64        sf_count_t ;
-#define SF_COUNT_MAX           0x7fffffffffffffffi64
-#else
-typedef __int64 sf_count_t ;
-#define SF_COUNT_MAX           0x7FFFFFFFFFFFFFFFLL
-#endif
-
-
-/* A pointer to a SF_INFO structure is passed to sf_open () and filled in.
-** On write, the SF_INFO structure is filled in by the user and passed into
-** sf_open ().
-*/
-
-struct SF_INFO
-{      sf_count_t      frames ;                /* Used to be called samples.  Changed to avoid confusion. */
-       int                     samplerate ;
-       int                     channels ;
-       int                     format ;
-       int                     sections ;
-       int                     seekable ;
-} ;
-
-typedef        struct SF_INFO SF_INFO ;
-
-/* The SF_FORMAT_INFO struct is used to retrieve information about the sound
-** file formats libsndfile supports using the sf_command () interface.
-**
-** Using this interface will allow applications to support new file formats
-** and encoding types when libsndfile is upgraded, without requiring
-** re-compilation of the application.
-**
-** Please consult the libsndfile documentation (particularly the information
-** on the sf_command () interface) for examples of its use.
-*/
-
-typedef struct
-{      int                     format ;
-       const char      *name ;
-       const char      *extension ;
-} SF_FORMAT_INFO ;
-
-/*
-** Enums and typedefs for adding dither on read and write.
-** See the html documentation for sf_command(), SFC_SET_DITHER_ON_WRITE
-** and SFC_SET_DITHER_ON_READ.
-*/
-
-enum
-{      SFD_DEFAULT_LEVEL       = 0,
-       SFD_CUSTOM_LEVEL        = 0x40000000,
-
-       SFD_NO_DITHER           = 500,
-       SFD_WHITE                       = 501,
-       SFD_TRIANGULAR_PDF      = 502
-} ;
-
-typedef struct
-{      int                     type ;
-       double          level ;
-       const char      *name ;
-} SF_DITHER_INFO ;
-
-/* Struct used to retrieve information about a file embedded within a
-** larger file. See SFC_GET_EMBED_FILE_INFO.
-*/
-
-typedef struct
-{      sf_count_t      offset ;
-       sf_count_t      length ;
-} SF_EMBED_FILE_INFO ;
-
-/*
-**     Structs used to retrieve music sample information from a file.
-*/
-
-enum
-{      /*
-       **      The loop mode field in SF_INSTRUMENT will be one of the following.
-       */
-       SF_LOOP_NONE = 800,
-       SF_LOOP_FORWARD,
-       SF_LOOP_BACKWARD,
-       SF_LOOP_ALTERNATING
-} ;
-
-typedef struct
-{      int gain ;
-       char basenote, detune ;
-       char velocity_lo, velocity_hi ;
-       char key_lo, key_hi ;
-       int loop_count ;
-
-       struct
-       {       int mode ;
-               unsigned int start ;
-               unsigned int end ;
-               unsigned int count ;
-       } loops [16] ; /* make variable in a sensible way */
-} SF_INSTRUMENT ;
-
-
-
-/* Struct used to retrieve loop information from a file.*/
-typedef struct
-{
-       short   time_sig_num ;  /* any positive integer    > 0  */
-       short   time_sig_den ;  /* any positive power of 2 > 0  */
-       int             loop_mode ;             /* see SF_LOOP enum             */
-
-       int             num_beats ;             /* this is NOT the amount of quarter notes !!!*/
-                                                       /* a full bar of 4/4 is 4 beats */
-                                                       /* a full bar of 7/8 is 7 beats */
-
-       float   bpm ;                   /* suggestion, as it can be calculated using other fields:*/
-                                                       /* file's lenght, file's sampleRate and our time_sig_den*/
-                                                       /* -> bpms are always the amount of _quarter notes_ per minute */
-
-       int     root_key ;                      /* MIDI note, or -1 for None */
-       int future [6] ;
-} SF_LOOP_INFO ;
-
-
-/*     Struct used to retrieve broadcast (EBU) information from a file.
-**     Strongly (!) based on EBU "bext" chunk format used in Broadcast WAVE.
-*/
-#define        SF_BROADCAST_INFO_VAR(coding_hist_size) \
-                       struct \
-                       {       char                    description [256] ; \
-                               char                    originator [32] ; \
-                               char                    originator_reference [32] ; \
-                               char                    origination_date [10] ; \
-                               char                    origination_time [8] ; \
-                               unsigned int    time_reference_low ; \
-                               unsigned int    time_reference_high ; \
-                               short                   version ; \
-                               char                    umid [64] ; \
-                               char                    reserved [190] ; \
-                               unsigned int    coding_history_size ; \
-                               char                    coding_history [coding_hist_size] ; \
-                       }
-
-/* SF_BROADCAST_INFO is the above struct with coding_history field of 256 bytes. */
-typedef SF_BROADCAST_INFO_VAR (256) SF_BROADCAST_INFO ;
-
-
-/*     Virtual I/O functionality. */
-
-typedef sf_count_t             (*sf_vio_get_filelen)   (void *user_data) ;
-typedef sf_count_t             (*sf_vio_seek)          (sf_count_t offset, int whence, void *user_data) ;
-typedef sf_count_t             (*sf_vio_read)          (void *ptr, sf_count_t count, void *user_data) ;
-typedef sf_count_t             (*sf_vio_write)         (const void *ptr, sf_count_t count, void *user_data) ;
-typedef sf_count_t             (*sf_vio_tell)          (void *user_data) ;
-
-struct SF_VIRTUAL_IO
-{      sf_vio_get_filelen      get_filelen ;
-       sf_vio_seek                     seek ;
-       sf_vio_read                     read ;
-       sf_vio_write            write ;
-       sf_vio_tell                     tell ;
-} ;
-
-typedef        struct SF_VIRTUAL_IO SF_VIRTUAL_IO ;
-
-
-/* Open the specified file for read, write or both. On error, this will
-** return a NULL pointer. To find the error number, pass a NULL SNDFILE
-** to sf_strerror ().
-** All calls to sf_open() should be matched with a call to sf_close().
-*/
-
-SNDFILE*       sf_open         (const char *path, int mode, SF_INFO *sfinfo) ;
-
-
-/* Use the existing file descriptor to create a SNDFILE object. If close_desc
-** is TRUE, the file descriptor will be closed when sf_close() is called. If
-** it is FALSE, the descritor will not be closed.
-** When passed a descriptor like this, the library will assume that the start
-** of file header is at the current file offset. This allows sound files within
-** larger container files to be read and/or written.
-** On error, this will return a NULL pointer. To find the error number, pass a
-** NULL SNDFILE to sf_strerror ().
-** All calls to sf_open_fd() should be matched with a call to sf_close().
-
-*/
-
-SNDFILE*       sf_open_fd      (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;
-
-SNDFILE*       sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ;
-
-
-/* sf_error () returns a error number which can be translated to a text
-** string using sf_error_number().
-*/
-
-int            sf_error                (SNDFILE *sndfile) ;
-
-
-/* sf_strerror () returns to the caller a pointer to the current error message for
-** the given SNDFILE.
-*/
-
-const char* sf_strerror (SNDFILE *sndfile) ;
-
-
-/* sf_error_number () allows the retrieval of the error string for each internal
-** error number.
-**
-*/
-
-const char*    sf_error_number (int errnum) ;
-
-
-/* The following two error functions are deprecated but they will remain in the
-** library for the forseeable future. The function sf_strerror() should be used
-** in their place.
-*/
-
-int            sf_perror               (SNDFILE *sndfile) ;
-int            sf_error_str    (SNDFILE *sndfile, char* str, size_t len) ;
-
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int            sf_command      (SNDFILE *sndfile, int command, void *data, int datasize) ;
-
-
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */
-
-int            sf_format_check (const SF_INFO *info) ;
-
-
-/* Seek within the waveform data chunk of the SNDFILE. sf_seek () uses
-** the same values for whence (SEEK_SET, SEEK_CUR and SEEK_END) as
-** stdio.h function fseek ().
-** An offset of zero with whence set to SEEK_SET will position the
-** read / write pointer to the first data sample.
-** On success sf_seek returns the current position in (multi-channel)
-** samples from the start of the file.
-** Please see the libsndfile documentation for moving the read pointer
-** separately from the write pointer on files open in mode SFM_RDWR.
-** On error all of these functions return -1.
-*/
-
-sf_count_t     sf_seek                 (SNDFILE *sndfile, sf_count_t frames, int whence) ;
-
-
-/* Functions for retrieving and setting string data within sound files.
-** Not all file types support this features; AIFF and WAV do. For both
-** functions, the str_type parameter must be one of the SF_STR_* values
-** defined above.
-** On error, sf_set_string() returns non-zero while sf_get_string()
-** returns NULL.
-*/
-
-int sf_set_string (SNDFILE *sndfile, int str_type, const char* str) ;
-
-const char* sf_get_string (SNDFILE *sndfile, int str_type) ;
-
-
-/* Return the library version string. */
-
-const char * sf_version_string (void) ;
-
-
-/* Functions for reading/writing the waveform data of a sound file.
-*/
-
-sf_count_t     sf_read_raw             (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;
-sf_count_t     sf_write_raw    (SNDFILE *sndfile, const void *ptr, sf_count_t bytes) ;
-
-
-/* Functions for reading and writing the data chunk in terms of frames.
-** The number of items actually read/written = frames * number of channels.
-**     sf_xxxx_raw             read/writes the raw data bytes from/to the file
-**     sf_xxxx_short   passes data in the native short format
-**     sf_xxxx_int             passes data in the native int format
-**     sf_xxxx_float   passes data in the native float format
-**     sf_xxxx_double  passes data in the native double format
-** All of these read/write function return number of frames read/written.
-*/
-
-sf_count_t     sf_readf_short  (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_short (SNDFILE *sndfile, const short *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_int    (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_int   (SNDFILE *sndfile, const int *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_float  (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_float (SNDFILE *sndfile, const float *ptr, sf_count_t frames) ;
-
-sf_count_t     sf_readf_double         (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;
-sf_count_t     sf_writef_double        (SNDFILE *sndfile, const double *ptr, sf_count_t frames) ;
-
-
-/* Functions for reading and writing the data chunk in terms of items.
-** Otherwise similar to above.
-** All of these read/write function return number of items read/written.
-*/
-
-sf_count_t     sf_read_short   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;
-sf_count_t     sf_write_short  (SNDFILE *sndfile, const short *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_int             (SNDFILE *sndfile, int *ptr, sf_count_t items) ;
-sf_count_t     sf_write_int    (SNDFILE *sndfile, const int *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_float   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;
-sf_count_t     sf_write_float  (SNDFILE *sndfile, const float *ptr, sf_count_t items) ;
-
-sf_count_t     sf_read_double  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;
-sf_count_t     sf_write_double (SNDFILE *sndfile, const double *ptr, sf_count_t items) ;
-
-
-/* Close the SNDFILE and clean up all memory allocations associated with this
-** file.
-** Returns 0 on success, or an error number.
-*/
-
-int            sf_close                (SNDFILE *sndfile) ;
-
-
-/* If the file is opened SFM_WRITE or SFM_RDWR, call fsync() on the file
-** to force the writing of data to disk. If the file is opened SFM_READ
-** no action is taken.
-*/
-
-void   sf_write_sync   (SNDFILE *sndfile) ;
-
-
-
-/* The function sf_wchar_open() is Windows Only!
-** Open a file passing in a Windows Unicode filename. Otherwise, this is
-** the same as sf_open().
-**
-** In order for this to work, you need to do the following:
-**
-**             #include <windows.h>
-**             #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1
-**             #including <sndfile.h>
-*/
-
-#if (defined (ENABLE_SNDFILE_WINDOWS_PROTOTYPES) && ENABLE_SNDFILE_WINDOWS_PROTOTYPES)
-SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ;
-#endif
-
-
-
-#ifdef __cplusplus
-}              /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* SNDFILE_H */
-
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/test.c b/fdmdv2/libsndfile/Projects/w32-mingw/test.c
deleted file mode 100644 (file)
index a6fe9e0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>\r
-\r
-#include <sndfile.h>\r
-\r
-int\r
-main (void)\r
-{\r
-       char buf [1024] ;\r
-\r
-       sf_command (NULL, SFC_GET_LIB_VERSION, buf, sizeof (buf)) ;\r
-       puts (buf) ;\r
-\r
-       return 0 ;\r
-}\r
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/test.exe b/fdmdv2/libsndfile/Projects/w32-mingw/test.exe
deleted file mode 100644 (file)
index 9abd3e5..0000000
Binary files a/fdmdv2/libsndfile/Projects/w32-mingw/test.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.mk b/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.mk
deleted file mode 100644 (file)
index 34e7f64..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-##\r
-## Auto Generated makefile by CodeLite IDE\r
-## any manual changes will be erased      \r
-##\r
-## Release\r
-ProjectName            :=test_sndfile\r
-ConfigurationName      :=Release\r
-IntermediateDirectory  :=./Release\r
-OutDir                 := $(IntermediateDirectory)\r
-WorkspacePath          := "C:\Users\wittend\Projects\Radio\fdmdv2"\r
-ProjectPath            := "C:\Users\wittend\Projects\Radio\fdmdv2\libsndfile\Projects\w32-mingw"\r
-CurrentFileName        :=\r
-CurrentFilePath        :=\r
-CurrentFileFullPath    :=\r
-User                   :=wittend\r
-Date                   :=6/18/2012\r
-CodeLitePath           :="C:\Program Files\CodeLite"\r
-LinkerName             :=g++\r
-ArchiveTool            :=ar rcus\r
-SharedObjectLinkerName :=g++ -shared -fPIC\r
-ObjectSuffix           :=.o\r
-DependSuffix           :=.o.d\r
-PreprocessSuffix       :=.o.i\r
-DebugSwitch            :=-gstab\r
-IncludeSwitch          :=-I\r
-LibrarySwitch          :=-l\r
-OutputSwitch           :=-o \r
-LibraryPathSwitch      :=-L\r
-PreprocessorSwitch     :=-D\r
-SourceSwitch           :=-c \r
-CompilerName           :=g++\r
-C_CompilerName         :=gcc\r
-OutputFile             :=$(IntermediateDirectory)/$(ProjectName)\r
-Preprocessors          :=\r
-ObjectSwitch           :=-o \r
-ArchiveOutputSwitch    := \r
-PreprocessOnlySwitch   :=-E \r
-ObjectsFileList        :="C:\Users\wittend\Projects\Radio\fdmdv2\libsndfile\Projects\w32-mingw\test_sndfile.txt"\r
-PCHCompileFlags        :=\r
-MakeDirCommand         :=makedir\r
-CmpOptions             := -O2 -Wall $(Preprocessors)\r
-C_CmpOptions           := -O2 -Wall $(Preprocessors)\r
-LinkOptions            :=  \r
-IncludePath            :=  $(IncludeSwitch). $(IncludeSwitch). \r
-IncludePCH             := \r
-RcIncludePath          := \r
-Libs                   := $(LibrarySwitch)sndfile-1 \r
-LibPath                := $(LibraryPathSwitch). \r
-\r
-\r
-##\r
-## User defined environment variables\r
-##\r
-CodeLiteDir:=C:\Program Files\CodeLite\r
-WXWIN:=C:\bin\wxWidgets-2.9.4\r
-PATH:=$(WXWIN)\lib\gcc_dll;$(PATH)\r
-WXCFG:=gcc_dll\mswu\r
-UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3\r
-Objects=$(IntermediateDirectory)/main$(ObjectSuffix) \r
-\r
-##\r
-## Main Build Targets \r
-##\r
-.PHONY: all clean PreBuild PrePreBuild PostBuild\r
-all: $(OutputFile)\r
-\r
-$(OutputFile): $(IntermediateDirectory)/.d $(Objects) \r
-       @$(MakeDirCommand) $(@D)\r
-       @echo "" > $(IntermediateDirectory)/.d\r
-       @echo $(Objects) > $(ObjectsFileList)\r
-       $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)\r
-\r
-$(IntermediateDirectory)/.d:\r
-       @$(MakeDirCommand) "./Release"\r
-\r
-PreBuild:\r
-\r
-\r
-##\r
-## Objects\r
-##\r
-$(IntermediateDirectory)/main$(ObjectSuffix): main.cpp $(IntermediateDirectory)/main$(DependSuffix)\r
-       $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/libsndfile/Projects/w32-mingw/main.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/main$(ObjectSuffix) $(IncludePath)\r
-$(IntermediateDirectory)/main$(DependSuffix): main.cpp\r
-       @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/main$(ObjectSuffix) -MF$(IntermediateDirectory)/main$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/libsndfile/Projects/w32-mingw/main.cpp"\r
-\r
-$(IntermediateDirectory)/main$(PreprocessSuffix): main.cpp\r
-       @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/main$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/libsndfile/Projects/w32-mingw/main.cpp"\r
-\r
-\r
--include $(IntermediateDirectory)/*$(DependSuffix)\r
-##\r
-## Clean\r
-##\r
-clean:\r
-       $(RM) $(IntermediateDirectory)/main$(ObjectSuffix)\r
-       $(RM) $(IntermediateDirectory)/main$(DependSuffix)\r
-       $(RM) $(IntermediateDirectory)/main$(PreprocessSuffix)\r
-       $(RM) $(OutputFile)\r
-       $(RM) $(OutputFile).exe\r
-       $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\test_sndfile"\r
-\r
-\r
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.project b/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.project
deleted file mode 100644 (file)
index 242eaa6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<CodeLite_Project Name="test_sndfile" InternalType="Console">
-  <Plugins>
-    <Plugin Name="qmake">
-      <![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
-    </Plugin>
-  </Plugins>
-  <Description/>
-  <Dependencies/>
-  <VirtualDirectory Name="src">
-    <File Name="main.cpp"/>
-  </VirtualDirectory>
-  <Settings Type="Executable">
-    <GlobalSettings>
-      <Compiler Options="" C_Options="">
-        <IncludePath Value="."/>
-      </Compiler>
-      <Linker Options="">
-        <LibraryPath Value="."/>
-      </Linker>
-      <ResourceCompiler Options=""/>
-    </GlobalSettings>
-    <Configuration Name="Debug" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
-      <Compiler Options="-g;-O0;-Wall" C_Options="-g;-O0;-Wall" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
-        <IncludePath Value="."/>
-      </Compiler>
-      <Linker Options="" Required="yes">
-        <Library Value="libsndfile-1.dll"/>
-      </Linker>
-      <ResourceCompiler Options="" Required="no"/>
-      <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
-      <Environment EnvVarSetName="&lt;Use Defaults&gt;" DbgSetName="&lt;Use Defaults&gt;">
-        <![CDATA[]]>
-      </Environment>
-      <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
-        <PostConnectCommands/>
-        <StartupCommands/>
-      </Debugger>
-      <PreBuild/>
-      <PostBuild/>
-      <CustomBuild Enabled="no">
-        <RebuildCommand/>
-        <CleanCommand/>
-        <BuildCommand/>
-        <PreprocessFileCommand/>
-        <SingleFileCommand/>
-        <MakefileGenerationCommand/>
-        <ThirdPartyToolName>None</ThirdPartyToolName>
-        <WorkingDirectory/>
-      </CustomBuild>
-      <AdditionalRules>
-        <CustomPostBuild/>
-        <CustomPreBuild/>
-      </AdditionalRules>
-      <Completion>
-        <ClangCmpFlags/>
-        <ClangPP/>
-        <SearchPaths/>
-      </Completion>
-    </Configuration>
-    <Configuration Name="Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
-      <Compiler Options="-O2;-Wall" C_Options="-O2;-Wall" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
-        <IncludePath Value="."/>
-      </Compiler>
-      <Linker Options="" Required="yes">
-        <Library Value="libsndfile-1.dll"/>
-      </Linker>
-      <ResourceCompiler Options="" Required="no"/>
-      <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
-      <Environment EnvVarSetName="&lt;Use Defaults&gt;" DbgSetName="&lt;Use Defaults&gt;">
-        <![CDATA[]]>
-      </Environment>
-      <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
-        <PostConnectCommands/>
-        <StartupCommands/>
-      </Debugger>
-      <PreBuild/>
-      <PostBuild/>
-      <CustomBuild Enabled="no">
-        <RebuildCommand/>
-        <CleanCommand/>
-        <BuildCommand/>
-        <PreprocessFileCommand/>
-        <SingleFileCommand/>
-        <MakefileGenerationCommand/>
-        <ThirdPartyToolName>None</ThirdPartyToolName>
-        <WorkingDirectory/>
-      </CustomBuild>
-      <AdditionalRules>
-        <CustomPostBuild/>
-        <CustomPreBuild/>
-      </AdditionalRules>
-      <Completion>
-        <ClangCmpFlags/>
-        <ClangPP/>
-        <SearchPaths/>
-      </Completion>
-    </Configuration>
-  </Settings>
-  <Dependencies Name="Debug"/>
-  <Dependencies Name="Release"/>
-</CodeLite_Project>
diff --git a/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.txt b/fdmdv2/libsndfile/Projects/w32-mingw/test_sndfile.txt
deleted file mode 100644 (file)
index 5d46005..0000000
+++ /dev/null
@@ -1 +0,0 @@
-./Release/main.o  \r
diff --git a/fdmdv2/libsndfile/Projects/w32-vc7/test.cc b/fdmdv2/libsndfile/Projects/w32-vc7/test.cc
deleted file mode 100644 (file)
index 674a932..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <cstdio>\r
-\r
-#include <sndfile.h>\r
-\r
-int\r
-main (void)\r
-{\r
-       char buf [1024] ;\r
-\r
-       sf_command (NULL, SFC_GET_LIB_VERSION, buf, sizeof (buf)) ;\r
-       puts (buf) ;\r
-\r
-       return 0 ;\r
-}
\ No newline at end of file
diff --git a/fdmdv2/libsndfile/Projects/w32-vc7/test.sln b/fdmdv2/libsndfile/Projects/w32-vc7/test.sln
deleted file mode 100644 (file)
index c237d86..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcproj", "{A3CC29EE-FB2A-4B83-A364-595F5314A6DC}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfiguration) = preSolution\r
-               ConfigName.0 = Debug\r
-               ConfigName.1 = Release\r
-       EndGlobalSection\r
-       GlobalSection(ProjectDependencies) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfiguration) = postSolution\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Debug.ActiveCfg = Debug|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Debug.Build.0 = Debug|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Release.ActiveCfg = Release|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Release.Build.0 = Release|Win32\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityGlobals) = postSolution\r
-       EndGlobalSection\r
-       GlobalSection(ExtensibilityAddIns) = postSolution\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/fdmdv2/libsndfile/Projects/w32-vc7/test.vcproj b/fdmdv2/libsndfile/Projects/w32-vc7/test.vcproj
deleted file mode 100644 (file)
index f141251..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>\r
-<VisualStudioProject\r
-       ProjectType="Visual C++"\r
-       Version="7.00"\r
-       Name="test"\r
-       ProjectGUID="{A3CC29EE-FB2A-4B83-A364-595F5314A6DC}"\r
-       Keyword="Win32Proj">\r
-       <Platforms>\r
-               <Platform\r
-                       Name="Win32"/>\r
-       </Platforms>\r
-       <Configurations>\r
-               <Configuration\r
-                       Name="Debug|Win32"\r
-                       OutputDirectory="Debug"\r
-                       IntermediateDirectory="Debug"\r
-                       ConfigurationType="1"\r
-                       CharacterSet="2">\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
-                               AdditionalIncludeDirectories="&quot;..\..\include&quot;"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
-                               MinimalRebuild="TRUE"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="5"\r
-                               UsePrecompiledHeader="0"\r
-                               WarningLevel="3"\r
-                               Detect64BitPortabilityProblems="TRUE"\r
-                               DebugInformationFormat="4"/>\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"/>\r
-                       <Tool\r
-                               Name="VCLinkerTool"\r
-                               AdditionalDependencies="libsndfile-1.lib"\r
-                               OutputFile="$(OutDir)/test.exe"\r
-                               LinkIncremental="2"\r
-                               AdditionalLibraryDirectories="&quot;..\..&quot;"\r
-                               GenerateDebugInformation="TRUE"\r
-                               ProgramDatabaseFile="$(OutDir)/test.pdb"\r
-                               SubSystem="1"\r
-                               TargetMachine="1"/>\r
-                       <Tool\r
-                               Name="VCMIDLTool"/>\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"/>\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"/>\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"/>\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"/>\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"/>\r
-                       <Tool\r
-                               Name="VCWebDeploymentTool"/>\r
-               </Configuration>\r
-               <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="Release"\r
-                       IntermediateDirectory="Release"\r
-                       ConfigurationType="1"\r
-                       CharacterSet="2">\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="2"\r
-                               InlineFunctionExpansion="1"\r
-                               OmitFramePointers="TRUE"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
-                               StringPooling="TRUE"\r
-                               RuntimeLibrary="4"\r
-                               EnableFunctionLevelLinking="TRUE"\r
-                               UsePrecompiledHeader="0"\r
-                               WarningLevel="3"\r
-                               Detect64BitPortabilityProblems="TRUE"\r
-                               DebugInformationFormat="3"/>\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"/>\r
-                       <Tool\r
-                               Name="VCLinkerTool"\r
-                               OutputFile="$(OutDir)/test.exe"\r
-                               LinkIncremental="1"\r
-                               GenerateDebugInformation="TRUE"\r
-                               SubSystem="1"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
-                               TargetMachine="1"/>\r
-                       <Tool\r
-                               Name="VCMIDLTool"/>\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"/>\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"/>\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"/>\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"/>\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"/>\r
-                       <Tool\r
-                               Name="VCWebDeploymentTool"/>\r
-               </Configuration>\r
-       </Configurations>\r
-       <Files>\r
-               <Filter\r
-                       Name="Source Files"\r
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">\r
-                       <File\r
-                               RelativePath="test.cc">\r
-                       </File>\r
-               </Filter>\r
-               <Filter\r
-                       Name="Header Files"\r
-                       Filter="h;hpp;hxx;hm;inl;inc">\r
-               </Filter>\r
-               <Filter\r
-                       Name="Resource Files"\r
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">\r
-               </Filter>\r
-       </Files>\r
-       <Globals>\r
-       </Globals>\r
-</VisualStudioProject>\r
diff --git a/fdmdv2/libsndfile/Projects/w32-vc9/test.cc b/fdmdv2/libsndfile/Projects/w32-vc9/test.cc
deleted file mode 100644 (file)
index 674a932..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <cstdio>\r
-\r
-#include <sndfile.h>\r
-\r
-int\r
-main (void)\r
-{\r
-       char buf [1024] ;\r
-\r
-       sf_command (NULL, SFC_GET_LIB_VERSION, buf, sizeof (buf)) ;\r
-       puts (buf) ;\r
-\r
-       return 0 ;\r
-}
\ No newline at end of file
diff --git a/fdmdv2/libsndfile/Projects/w32-vc9/test.sln b/fdmdv2/libsndfile/Projects/w32-vc9/test.sln
deleted file mode 100644 (file)
index 1008f13..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00\r
-# Visual C++ Express 2008\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcproj", "{A3CC29EE-FB2A-4B83-A364-595F5314A6DC}"\r
-EndProject\r
-Global\r
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
-               Debug|Win32 = Debug|Win32\r
-               Release|Win32 = Release|Win32\r
-       EndGlobalSection\r
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Debug|Win32.Build.0 = Debug|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Release|Win32.ActiveCfg = Release|Win32\r
-               {A3CC29EE-FB2A-4B83-A364-595F5314A6DC}.Release|Win32.Build.0 = Release|Win32\r
-       EndGlobalSection\r
-       GlobalSection(SolutionProperties) = preSolution\r
-               HideSolutionNode = FALSE\r
-       EndGlobalSection\r
-EndGlobal\r
diff --git a/fdmdv2/libsndfile/Projects/w32-vc9/test.vcproj b/fdmdv2/libsndfile/Projects/w32-vc9/test.vcproj
deleted file mode 100644 (file)
index f710478..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>\r
-<VisualStudioProject\r
-       ProjectType="Visual C++"\r
-       Version="9.00"\r
-       Name="test"\r
-       ProjectGUID="{A3CC29EE-FB2A-4B83-A364-595F5314A6DC}"\r
-       Keyword="Win32Proj"\r
-       TargetFrameworkVersion="131072"\r
-       >\r
-       <Platforms>\r
-               <Platform\r
-                       Name="Win32"\r
-               />\r
-       </Platforms>\r
-       <ToolFiles>\r
-       </ToolFiles>\r
-       <Configurations>\r
-               <Configuration\r
-                       Name="Debug|Win32"\r
-                       OutputDirectory="Debug"\r
-                       IntermediateDirectory="Debug"\r
-                       ConfigurationType="1"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
-                               AdditionalIncludeDirectories="&quot;..\..\include&quot;"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
-                               MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="1"\r
-                               UsePrecompiledHeader="0"\r
-                               WarningLevel="3"\r
-                               Detect64BitPortabilityProblems="false"\r
-                               DebugInformationFormat="4"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLinkerTool"\r
-                               AdditionalDependencies="libsndfile-1.lib"\r
-                               OutputFile="$(OutDir)/test.exe"\r
-                               LinkIncremental="2"\r
-                               AdditionalLibraryDirectories="&quot;..\..&quot;"\r
-                               GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile="$(OutDir)/test.pdb"\r
-                               SubSystem="1"\r
-                               RandomizedBaseAddress="1"\r
-                               DataExecutionPrevention="0"\r
-                               TargetMachine="1"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManifestTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCAppVerifierTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                       />\r
-               </Configuration>\r
-               <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="Release"\r
-                       IntermediateDirectory="Release"\r
-                       ConfigurationType="1"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="2"\r
-                               InlineFunctionExpansion="1"\r
-                               OmitFramePointers="true"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
-                               StringPooling="true"\r
-                               RuntimeLibrary="0"\r
-                               EnableFunctionLevelLinking="true"\r
-                               UsePrecompiledHeader="0"\r
-                               WarningLevel="3"\r
-                               Detect64BitPortabilityProblems="true"\r
-                               DebugInformationFormat="3"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLinkerTool"\r
-                               OutputFile="$(OutDir)/test.exe"\r
-                               LinkIncremental="1"\r
-                               GenerateDebugInformation="true"\r
-                               SubSystem="1"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
-                               RandomizedBaseAddress="1"\r
-                               DataExecutionPrevention="0"\r
-                               TargetMachine="1"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManifestTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCAppVerifierTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                       />\r
-               </Configuration>\r
-       </Configurations>\r
-       <References>\r
-       </References>\r
-       <Files>\r
-               <Filter\r
-                       Name="Source Files"\r
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"\r
-                       >\r
-                       <File\r
-                               RelativePath="test.cc"\r
-                               >\r
-                       </File>\r
-               </Filter>\r
-               <Filter\r
-                       Name="Header Files"\r
-                       Filter="h;hpp;hxx;hm;inl;inc"\r
-                       >\r
-               </Filter>\r
-               <Filter\r
-                       Name="Resource Files"\r
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
-                       >\r
-               </Filter>\r
-       </Files>\r
-       <Globals>\r
-       </Globals>\r
-</VisualStudioProject>\r
diff --git a/fdmdv2/libsndfile/bin/libsndfile-1.dll b/fdmdv2/libsndfile/bin/libsndfile-1.dll
deleted file mode 100644 (file)
index 545ffb5..0000000
Binary files a/fdmdv2/libsndfile/bin/libsndfile-1.dll and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-about.ex- b/fdmdv2/libsndfile/bin/sndfile-about.ex-
deleted file mode 100644 (file)
index 92736a6..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-about.ex- and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-cmp.exe b/fdmdv2/libsndfile/bin/sndfile-cmp.exe
deleted file mode 100644 (file)
index 5470834..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-cmp.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-convert.exe b/fdmdv2/libsndfile/bin/sndfile-convert.exe
deleted file mode 100644 (file)
index 0c422ae..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-convert.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-info.exe b/fdmdv2/libsndfile/bin/sndfile-info.exe
deleted file mode 100644 (file)
index 29254c3..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-info.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-metadata-get.exe b/fdmdv2/libsndfile/bin/sndfile-metadata-get.exe
deleted file mode 100644 (file)
index 4fdd063..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-metadata-get.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-metadata-set.exe b/fdmdv2/libsndfile/bin/sndfile-metadata-set.exe
deleted file mode 100644 (file)
index 9881bf0..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-metadata-set.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/bin/sndfile-play.exe b/fdmdv2/libsndfile/bin/sndfile-play.exe
deleted file mode 100644 (file)
index 22fa0a7..0000000
Binary files a/fdmdv2/libsndfile/bin/sndfile-play.exe and /dev/null differ
diff --git a/fdmdv2/libsndfile/doc/FAQ.html b/fdmdv2/libsndfile/doc/FAQ.html
deleted file mode 100644 (file)
index 7efb1f9..0000000
+++ /dev/null
@@ -1,849 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile : Frequently Asked Questions.\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <META NAME="Description" CONTENT="The libsndfile FAQ.">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<H1><B>libsndfile : Frequently Asked Questions.</B></H1>\r
-<P>\r
-<A HREF="#Q001">Q1 : Do you plan to support XYZ codec in libsndfile?</A><BR/>\r
-<A HREF="#Q002">Q2 : In version 0 the SF_INFO struct had a pcmbitwidth field\r
-               but version 1 does not. Why?</A><BR/>\r
-<A HREF="#Q003">Q3 : Compiling is really slow on MacOS X. Why?</A><BR/>\r
-<A HREF="#Q004">Q4 : When trying to compile libsndfile on Solaris I get a "bad\r
-               substitution" error during linking. What can I do to fix this?</A><BR/>\r
-<A HREF="#Q005">Q5 : Why doesn't libsndfile do interleaving/de-interleaving?</A><BR/>\r
-<A HREF="#Q006">Q6 : What's the best format for storing temporary files?</A><BR/>\r
-<A HREF="#Q007">Q7 : On Linux/Unix/MacOS X, what's the best way of detecting the\r
-       presence of libsndfile?</A><BR/>\r
-<A HREF="#Q008">Q8 : But I just want a simple Makefile! What do I do?</A><BR/>\r
-<A HREF="#Q009">Q9 : How about adding the ability to write/read sound files to/from\r
-       memory buffers?</A><BR/>\r
-<A HREF="#Q010">Q10 : Reading a 16 bit PCM file as normalised floats and then\r
-       writing them back changes some sample values. Why?</A><BR/>\r
-<A HREF="#Q011">Q11 : I'm having problems with u-law encoded WAV files generated by\r
-       libsndfile in Winamp. Why?</A><BR/>\r
-<A HREF="#Q012">Q12 : I'm looking at sf_read*. What are items? What are frames?</A><BR/>\r
-<A HREF="#Q013">Q13 : Why can't libsndfile open this Sound Designer II (SD2)\r
-       file?</A><BR/>\r
-<A HREF="#Q014">Q14 : I'd like to statically link libsndfile to my closed source\r
-       application. Can I buy a license so that this is possible?</A><BR/>\r
-<A HREF="#Q015">Q15 : My program is crashing during a call to a function in libsndfile.\r
-       Is this a bug in libsndfile?</A><BR/>\r
-<A HREF="#Q016">Q16 : Will you accept a fix for compiling libsndfile with compiler X?\r
-       </A><BR/>\r
-<A HREF="#Q017">Q17 : Can libsndfile read/write files from/to UNIX pipes?\r
-       </A><BR/>\r
-<A HREF="#Q018">Q18 : Is it possible to build a Universal Binary on Mac OS X?\r
-       </A><BR/>\r
-<A HREF="#Q019">Q19 : I have project files for Visual Studio / XCode / Whatever. Why\r
-       don't you distribute them with libsndfile?\r
-       </A><BR/>\r
-<A HREF="#Q020">Q20 : Why doesn't libsndfile support MP3? Lots of other Open Source\r
-       projects support it!\r
-       </A><BR/>\r
-<A HREF="#Q021">Q21 : How do I use libsndfile in a closed source or commercial program\r
-       and comply with the license?\r
-       </A><BR/>\r
-<A HREF="#Q022">Q22 : What versions of windows does libsndfile work on?\r
-       </A><BR/>\r
-<A HREF="#Q023">Q23 : I'm cross compiling libsndfile for another platform. How can I\r
-       run the test suite?\r
-       </A><BR/>\r
-<HR>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q001"></A>\r
-<H2><BR/><B>Q1 : Do you plan to support XYZ codec in libsndfile?</B></H2>\r
-<P>\r
-If source code for XYZ codec is available under a suitable license (LGPL, BSD,\r
-MIT etc) then yes, I'd like to add it.\r
-</P>\r
-<P>\r
-If suitable documentation is available on how to decode and encode the format\r
-then maybe, depending on how much work is involved.\r
-</P>\r
-<P>\r
-If XYZ is some proprietary codec where no source code or documentation is\r
-available then no.\r
-</P>\r
-<P>\r
-So if you want support for XYZ codec, first find existing source code or\r
-documentation.\r
-If you can't find either then the answer is no.\r
-</P>\r
-<!-- ========================================================================= -->\r
-<A NAME="Q002"></A>\r
-<H2><BR/><B>Q2 : In version 0 the SF_INFO struct had a pcmbitwidth field\r
-               but version 1 does not. Why?</B></H2>\r
-<P>\r
-       This was dropped for a number of reasons:\r
-</P>\r
-<UL>\r
-       <LI> pcmbitwidth makes little sense on compressed or floating point formats\r
-       <LI> with the new API you really don't need to know it\r
-</UL>\r
-<P>\r
-As documented\r
-    <A HREF="http://www.mega-nerd.com/libsndfile/api.html#note1">here</A>\r
-there is now a well defined behaviour which ensures that no matter what the\r
-bit width of the source file, the scaling always does something sensible.\r
-This makes it safe to read 8, 16, 24 and 32 bit PCM files using sf_read_short()\r
-and always have the optimal behaviour.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q003"></A>\r
-<H2><BR/><B>Q3 : Compiling is really slow on MacOS X. Why?</B></H2>\r
-<P>\r
-When you configure and compile libsndfile, it uses the /bin/sh shell for a number\r
-of tasks (ie configure script and libtool).\r
-Older versions of OS X (10.2?) shipped a really crappy Bourne shell as /bin/sh\r
-which resulted in <b>really</b> slow compiles.\r
-Newer version of OS X ship GNU Bash as /bin/sh and this answer doesn't apply in that\r
-case.\r
-</P>\r
-<P>\r
-To fix this I suggest that you install the GNU Bash shell, rename /bin/sh to\r
-/bin/sh.old and make a symlink from /bin/sh to the bash shell.\r
-Bash is designed to behave as a Bourne shell when is is called as /bin/sh.\r
-</P>\r
-<P>\r
-When I did this on my iBook running MacOS X, compile times dropped from 13 minutes\r
-to 3 minutes.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q004"></A>\r
-<H2><BR/><B>Q4 : When trying to compile libsndfile on Solaris I get a "bad\r
-               substitution" error on linking. Why?</B></H2>\r
-<P>\r
-It seems that the Solaris Bourne shell disagrees with GNU libtool.\r
-</P>\r
-<P>\r
-To fix this I suggest that you install the GNU Bash shell, rename /bin/sh to\r
-/bin/sh.old and make a symlink from /bin/sh to the bash shell.\r
-Bash is designed to behave as a Bourne shell when is is called as /bin/sh.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q005"></A>\r
-<H2><BR/><B>Q5 : Why doesn't libsndfile do interleaving/de-interleaving?</B></H2>\r
-<P>\r
-This problem is bigger than it may seem at first.\r
-</P>\r
-<P>\r
-For a stereo file, it is a pretty safe bet that a simple interleaving/de-interleaving\r
-could satisfy most users.\r
-However, for files with more than 2 channels this is unlikely to be the case.\r
-If the user has a 4 channel file and want to play that file on a stereo output\r
-sound card they either want the first 2 channels or they want some mixed combination\r
-of the 4 channels.\r
-</P>\r
-<P>\r
-When you add more channels, the combinations grow exponentially and it becomes\r
-increasingly difficult to cover even a sensible subset of the possible combinations.\r
-On top of that, coding any one style of interleaver/de-interleaver is trivial, while\r
-coding one that can cover all combinations is far from trivial.\r
-This means that this feature will not be added any time soon.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q006"></A>\r
-<H2><BR/><B>Q6 : What's the best format for storing temporary files?</B></H2>\r
-\r
-<P>\r
-When you want to store temporary data there are a number of requirements;\r
-</P>\r
-<UL>\r
-       <LI> A simple, easy to parse header.\r
-       <LI> The format must provide the fastest possible read and write rates (ie\r
-               avoid conversions and encoding/decoding).\r
-       <LI> The file format must be reasonably common and playable by most players.\r
-       <LI> Able to store data in either endian-ness.\r
-</UL>\r
-<P>\r
-The format which best meets these requirements is AU, which allows data to be\r
-stored in any one of short, int, float and double (among others) formats.\r
-</P>\r
-<P>\r
-For instance, if an application uses float data internally, its temporary files\r
-should use a format of (SF_ENDIAN_CPU | SF_FORMAT_AU | SF_FORMAT_FLOAT) which\r
-will store big endian float data in big endian CPUs and little endian float data\r
-on little endian CPUs.\r
-Reading and writing this format will not require any conversions or byte swapping\r
-regardless of the host CPU.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q007"></A>\r
-<H2><BR/><B>Q7 : On Linux/Unix/MaxOS X, what's the best way of detecting the presence\r
-       of libsndfile using autoconf?</B></H2>\r
-\r
-<P>\r
-libsndfile uses the pkg-config (man pkg-config) method of registering itself with the\r
-host system.\r
-The best way of detecting its presence is using something like this in configure.ac\r
-(or configure.in):\r
-</P>\r
-<PRE>\r
-        PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2, ac_cv_sndfile=1, ac_cv_sndfile=0)\r
-\r
-        AC_DEFINE_UNQUOTED([HAVE_SNDFILE],${ac_cv_sndfile},\r
-                       [Set to 1 if you have libsndfile.])\r
-\r
-        AC_SUBST(SNDFILE_CFLAGS)\r
-        AC_SUBST(SNDFILE_LIBS)\r
-</PRE>\r
-<P>\r
-This will automatically set the <B>SNDFILE_CFLAGS</B> and <B>SNDFILE_LIBS</B>\r
-variables which can be used in Makefile.am like this:\r
-</P>\r
-<PRE>\r
-        SNDFILE_CFLAGS = @SNDFILE_CFLAGS@\r
-        SNDFILE_LIBS = @SNDFILE_LIBS@\r
-</PRE>\r
-<P>\r
-If you install libsndfile from source, you will probably need to set the\r
-<B>PKG_CONFIG_PATH</B> environment variable as suggested at the end of the\r
-libsndfile configure process. For instance on my system I get this:\r
-</P>\r
-<PRE>\r
-        -=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-\r
-\r
-          Configuration summary :\r
-\r
-            Version : ..................... 1.0.5\r
-            Experimental code : ........... no\r
-\r
-          Tools :\r
-\r
-            Compiler is GCC : ............. yes\r
-            GCC major version : ........... 3\r
-\r
-          Installation directories :\r
-\r
-            Library directory : ........... /usr/local/lib\r
-            Program directory : ........... /usr/local/bin\r
-            Pkgconfig directory : ......... /usr/local/lib/pkgconfig\r
-\r
-        Compiling some other packages against libsndfile may require\r
-        the addition of "/usr/local/lib/pkgconfig" to the\r
-        PKG_CONFIG_PATH environment variable.\r
-</PRE>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q008"></A>\r
-<H2><BR/><B>Q8 : But I just want a simple Makefile! What do I do?</B></H2>\r
-\r
-<P>\r
-The <B>pkg-config</B> program makes finding the correct compiler flag values and\r
-library location far easier.\r
-During the installation of libsndfile, a file named <B>sndfile.pc</B> is installed\r
-in the directory <B>${libdir}/pkgconfig</B> (ie if libsndfile is installed in\r
-<B>/usr/local/lib</B>, <B>sndfile.pc</B> will be installed in\r
-<B>/usr/local/lib/pkgconfig/</B>).\r
-</P>\r
-<P>\r
-In order for pkg-config to find sndfile.pc it may be necessary to point the\r
-environment variable <B>PKG_CONFIG_PATH</B> in the right direction.\r
-</P>\r
-<PRE>\r
-        export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig\r
-</PRE>\r
-\r
-<P>\r
-Then, to compile a C file into an object file, the command would be:\r
-</P>\r
-<PRE>\r
-        gcc `pkg-config --cflags sndfile` -c somefile.c\r
-</PRE>\r
-<P>\r
-and to link a number of objects into an executable that links against libsndfile,\r
-the command would be:\r
-</P>\r
-<PRE>\r
-        gcc `pkg-config --libs sndfile` obj1.o obj2.o -o program\r
-</PRE>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q009"></A>\r
-<H2><BR/><B>Q9 : How about adding the ability to write/read sound files to/from\r
-       memory buffers?</B></H2>\r
-\r
-<P>\r
-This has been added for version 1.0.13.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q010"></A>\r
-<H2><BR/><B>Q10 : Reading a 16 bit PCM file as normalised floats and then\r
-       writing them back changes some sample values. Why?</B></H2>\r
-\r
-<P>\r
-This is caused by the fact that the conversion from 16 bit short to float is\r
-done by dividing by 32768 (0x8000 in hexadecimal) while the conversion from\r
-float to 16 bit short is done by multiplying by 32767 (0x7FFF in hex).\r
-So for instance, a value in a 16 bit PCM file of 20000 gets read as a floating\r
-point number of 0.6103515625 (20000.0 / 0x8000).\r
-Converting that back to a 16 bit short results in a value of 19999.3896484375\r
-(0.6103515625 * 0x7FFF) which then gets rounded down to 19999.\r
-</P>\r
-<P>\r
-You will notice that for this particular case, the error is 1 in 20000 or\r
-0.005%.\r
-Interestingly, for values of less than 16369, dividing by 0x8000 followed\r
-by multiplying by 0x7FFF and then rounding the result, gives back the\r
-original value.\r
-It turns out that as long as the host operating system supplies the 1999 ISO\r
-C Standard functions <B>lrintf</B> and <B>lrint</B> (or a replacement has\r
-been supplied) then the maximum possible error is 1 in 16369 or about 0.006%.\r
-</P>\r
-<P>\r
-Regardless of the size of the error, the reason why this is done is rather\r
-subtle.\r
-</P>\r
-<P>\r
-In a file containing 16 bit PCM samples, the values are restricted to the range\r
-[-32768, 32767] while we want floating point values in the range [-1.0, 1.0].\r
-The only way to do this conversion is to do a floating point division by a value\r
-of 0x8000.\r
-Converting the other way, the only way to ensure that floating point values in\r
-the range [-1.0, 1.0] are within the valid range allowed by a 16 bit short is\r
-to multiply by 0x7FFF.\r
-</P>\r
-<P>\r
-Some people would say that this is a severe short-coming of libsndfile.\r
-I would counter that anybody who is constantly converting back and forth\r
-between 16 bit shorts and normalised floats is going to suffer other losses\r
-in audio quality that they should also be concerned about.\r
-</P>\r
-<P>\r
-Since this problem only occurs when converting between integer data on disk and\r
-normalized floats in the application, it can be avoided by using something\r
-other than normalized floats in the application.\r
-Alternatives to normalized floats are the <b>short</b> and <b>int</b> data\r
-types (ie using sf_read_short or sf_read_int) or using un-normalized floats\r
-(see\r
-       <a href="http://www.mega-nerd.com/libsndfile/command.html#SFC_SET_NORM_FLOAT">\r
-       SFC_SET_NORM_FLOAT</a>).\r
-</P>\r
-<P>\r
-Another way to deal with this problem is to consider 16 bit short data as a\r
-final destination format only, not as an intermediate storage format.\r
-All intermediate data (ie which is going to be processed further) should be\r
-stored in floating point format which is supported by all of the most common\r
-file formats.\r
-If floating point files are considered too large (2 times the size of a 16 bit\r
-PCM file), it would also be possible to use 24 bit PCM as an intermediate\r
-storage format (and which is also supported by most common file types).\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q011"></A>\r
-<H2><BR/><B>Q11 : I'm having problems with u-law encoded WAV files generated by\r
-       libsndfile in Winamp. Why?\r
-</B></H2>\r
-\r
-<P>\r
-This is actually a Winamp problem.\r
-The official Microsoft spec suggests that the 'fmt ' chunk should be 18 bytes.\r
-Unfortunately at least one of Microsoft's own applications (Sound Recorder on\r
-Win98 I believe) did not accept 18 bytes 'fmt ' chunks.\r
-</P>\r
-<P>\r
-Michael Lee did some experimenting and found that:\r
-</P>\r
-<PRE>\r
-    I have checked that Windows Media Player 9, QuickTime Player 6.4,\r
-    RealOne Player 2.0 and GoldWave 5.06 can all play u-law files with\r
-    16-byte or 18-byte 'fmt ' chunk. Only Winamp (2.91) and foobar2000\r
-    are unable to play u-law files with 16-byte 'fmt ' chunk.\r
-</PRE>\r
-\r
-<P>\r
-Even this is a very small sampling of all the players out there.\r
-For that reason it is probably not a good idea to change this now because there\r
-is the risk of breaking something that currently works.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q012"></A>\r
-<H2><BR/><B>Q12 : I'm looking at sf_read*. What are items? What are frames?\r
-</B></H2>\r
-\r
-<P>\r
-An <tt>item</tt>tt> is a single sample of the data type you are reading; ie a\r
-single <tt>short</tt> value for <tt>sf_read_short</tt> or a single <tt>float</tt>\r
-for <tt>sf_read_float</tt>.\r
-</P>\r
-\r
-For a sound file with only one channel, a frame is the same as a item (ie a\r
-single sample) while for multi channel sound files, a single frame contains a\r
-single item for each channel.\r
-</P>\r
-\r
-<P>\r
-Here are two simple, correct examples, both of which are assumed to be working\r
-on a stereo file, first using items:\r
-</P>\r
-\r
-<PRE>\r
-        #define CHANNELS 2\r
-        short data [CHANNELS * 100] ;\r
-        sf_count items_read = sf_read_short (file, data, 200) ;\r
-        assert (items_read == 200) ;\r
-</PRE>\r
-\r
-<P>\r
-and now readng the exact same amount of data using frames:\r
-</P>\r
-\r
-<PRE>\r
-        #define CHANNELS 2\r
-        short data [CHANNELS * 100] ;\r
-        sf_count frames_read = sf_readf_short (file, data, 100) ;\r
-        assert (frames_read == 100) ;\r
-</PRE>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="Q013"></A>\r
-<H2><BR/><B>Q13 : Why can't libsndfile open this Sound Designer II (SD2) file?\r
-</B></H2>\r
-\r
-<P>\r
-This is somewhat complicated.\r
-First some background.\r
-</P>\r
-\r
-<P>\r
-SD2 files are native to the Apple Macintosh platform and use features of\r
-the Mac filesystem (file resource forks) to store the file's sample rate,\r
-number of channels, sample width and more.\r
-When you look at a file and its resource fork on Mac OS X it looks like\r
-this:\r
-</P>\r
-\r
-<PRE>\r
-        -rw-r--r--  1 erikd erikd   46512 Oct 18 22:57 file.sd2\r
-        -rw-r--r--  1 erikd erikd     538 Oct 18 22:57 file.sd2/rsrc\r
-</PRE>\r
-\r
-<P>\r
-Notice how the file itself looks like a directory containing a single file\r
-named <B>rsrc</B>.\r
-When libsndfile is compiled for MacOS X, it should open (for write and read)\r
-SD2 file with resource forks like this without any problems.\r
-It will also handle files with the resource fork in a separate file as\r
-described below.\r
-</P>\r
-\r
-<P>\r
-When SD2 files are moved to other platforms, the resource fork of the file\r
-can sometimes be dropped altogether.\r
-All that remains is the raw audio data and no information about the number\r
-of channels, sample rate or bit width which makes it a little difficult for\r
-libsndfile to open the file.\r
-</P>\r
-\r
-<P>\r
-However, it is possible to safely move an SD2 file to a Linux or Windows\r
-machine.\r
-For instance, when an SD2 file is copied from inside MacOS X to a windows\r
-shared directory or a Samba share (ie Linux), MacOS X is clever enough to\r
-store the resource fork of the file in a separate hidden file in the\r
-same directory like this:\r
-</P>\r
-<PRE>\r
-        -rw-r--r--  1 erikd erikd     538 Oct 18 22:57 ._file.sd2\r
-        -rw-r--r--  1 erikd erikd   46512 Oct 18 22:57 file.sd2\r
-</PRE>\r
-\r
-<P>\r
-Regardless of what platform it is running on, when libsndfile is asked to\r
-open a file named <B>"foo"</B> and it can't recognize the file type from\r
-the data in the file, it will attempt to open the resource fork and if\r
-that fails, it then tries to open a file named <B>"._foo"</B> to see if\r
-the file has a valid resource fork.\r
-This is the same regardless of whether the file is being opened for read\r
-or write.\r
-</P>\r
-\r
-<P>\r
-In short, libsndfile should open SD2 files with a valid resource fork on\r
-all of the platforms that libsndfile supports.\r
-If a file has lost its resource fork, the only option is the open the file\r
-using the SF_FORMAT_RAW option and guessing its sample rate, channel count\r
-and bit width.\r
-</P>\r
-\r
-<P>\r
-Occasionally, when SD2 files are moved to other systems, the file is\r
-       <A HREF="http://www.macdisk.com/binhexen.php3">BinHexed</A>\r
-which wraps the resource fork and the data fork together.\r
-For these files, it would be possible to write a BinHex parser but\r
-there is not a lot to gain considering how rare these BinHexed SD2\r
-files are.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q014"></A>\r
-<H2><BR/><B>Q14 : I'd like to statically link libsndfile to my closed source\r
-       application. Can I buy a license so that this is possible?\r
-</B></H2>\r
-\r
-<P>\r
-Unfortunately no.\r
-libsndfile contains code written by other people who have agreed that their\r
-code be used under the GNU LGPL but no more.\r
-Even if they were to agree, there would be significant difficulties in\r
-dividing up the payments fairly.\r
-</P>\r
-\r
-<P>\r
-The <B>only</B> way you can legally use libsndfile as a statically linked\r
-library is if your application is released under the GNU GPL or LGPL.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q015"></A>\r
-<H2><BR/><B>Q15 : My program is crashing during a call to a function in libsndfile.\r
-       Is this a bug in libsndfile?\r
-</B></H2>\r
-\r
-<P>\r
-libsndfile is being used by large numbers of people all over the world\r
-without any problems like this. That means that it is much more likely\r
-that your code has a bug than libsndfile. However, it is still possible\r
-that there is a bug in libsndfile.\r
-</P>\r
-<P>\r
-To figure out whether it is your code or libsndfile you should do the\r
-following:\r
-</P>\r
-       <UL>\r
-       <LI>Make sure you are compiling your code with warnings switched on and\r
-               that you fix as many warnings as possible.\r
-               With the GNU compiler (gcc) I would recommend at least\r
-               <B>-W -Wall -Werror</B> which will force you to fix all warnings\r
-               before you can run the code.\r
-       <LI>Try using a memory debugger.\r
-               <A HREF="http://valgrind.kde.org/">Valgrind</A> on x86 Linux is excellent.\r
-               <A HREF="http://www.ibm.com/software/awdtools/purify/">Purify</A> also\r
-               has a good reputation.\r
-       <LI>If the code is clean after the above two steps and you still get\r
-               a crash in libsndfile, then send me a small snippet of code (no\r
-               more than 30-40 lines) which includes the call to sf_open() and\r
-               also shows how all variables passed to/returned from sf_open()\r
-               are defined.\r
-       </UL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q016"></A>\r
-<H2><BR/><B>Q16 : Will you accept a fix for compiling libsndfile with compiler X?\r
-</B></H2>\r
-\r
-<P>\r
-If compiler X is a C++ compiler then no.\r
-C and C++ are different enough to make writing code that compiles as valid C\r
-and valid C++ too difficult.\r
-I would rather spend my time fixing bugs and adding features.\r
-</P>\r
-\r
-<P>\r
-If compiler X is a C compiler then I will do what I can as long as that does\r
-not hamper the correctness, portability and maintainability of the existing\r
-code.\r
-It should be noted however that libsndfile uses features specified by the 1999\r
-ISO C Standard.\r
-This can make compiling libsndfile with some older compilers difficult.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q017"></A>\r
-<H2><BR/><B>Q17 : Can libsndfile read/write files from/to UNIX pipes?\r
-</B></H2>\r
-\r
-<P>\r
-Yes, libsndfile can read files from pipes.\r
-Unfortunately, the write case is much more complicated.\r
-</P>\r
-\r
-<P>\r
-File formats like AIFF and WAV have information at the start of the file (the\r
-file header) which states the length of the file, the number of sample frames\r
-etc.\r
-This information must be filled in correctly when the file header is written,\r
-but this information is not reliably known until the file is closed.\r
-This means that libsndfile cannot write AIFF, WAV and many other file types\r
-to a pipe.\r
-</P>\r
-\r
-<P>\r
-However, there is at least one file format (AU) which is specifically designed\r
-to be written to a pipe.\r
-Like AIFF and WAV, AU has a header with a sample frames field, but it is\r
-specifically allowable to set that frames field to 0x7FFFFFFF if the file\r
-length is not known when the header is written.\r
-The AU file format can also hold data in many of the standard formats (ie\r
-SF_FORMAT_PCM_16, SF_FORMAT_PCM_24, SF_FORMAT_FLOAT etc) as well as allowing\r
-data in both big and little endian format.\r
-</P>\r
-\r
-<P>\r
-See also <A HREF="#Q006">FAQ Q6</A>.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q018"></A>\r
-<H2><BR/><B>Q18 : Is it possible to build a Universal Binary on Mac OS X?\r
-</B></H2>\r
-\r
-<P>\r
-Yes, but you must do two separate configure/build/test runs; one on PowerPC\r
-and one on Intel.\r
-It is then possible to merge the binaries into a single universal binary using\r
-one of the programs in the Apple tool chain.\r
-</P>\r
-\r
-<P>\r
-It is <b>not</b> possible to build a working universal binary via a single\r
-compile/build run on a single CPU.\r
-</P>\r
-\r
-<P>\r
-The problem is that the libsndfile build process detects features of the CPU its\r
-being built for during the configure process and when building a universal binary,\r
-configure is only run once and that data is then used for both CPUs.\r
-That configure data will be wrong for one of those CPUs.\r
-You will still be able to compile libsndfile, and the test suite will pass on\r
-the machine you compiled it on.\r
-However, if you take the universal binary test suite programs compiled on one\r
-CPU and run them on the other, the test suite will fail.\r
-</P>\r
-\r
-<P>\r
-Part of the problem is the the CPU endian-ness is detected at configure time.\r
-Yes, I know the Apple compiler defines one of the macros __LITTLE_ENDIAN__\r
-and __BIG_ENDIAN__, but those macros are not part of the 1999 ISO C Standard\r
-and they are not portable.\r
-</P>\r
-\r
-<P>\r
-Endian issues are not the only reason why the cross compiled binary will fail.\r
-The configure script also detects other CPU specific idiosyncrasies to provide\r
-more optimized code.\r
-</P>\r
-\r
-<P>\r
-Finally, the real show stopper problem with universal binaries is the problem\r
-with the test suite.\r
-libsndfile contains a huge, comprehensive test suite.\r
-When you compile a universal binary and run the test suite, you only test the\r
-native compile.\r
-The cross compiled binary (the one with the much higher chance of having\r
-problems) cannot be tested.\r
-</P>\r
-\r
-<P>\r
-Now, if you have read this far you're probably thinking there must be a way\r
-to fix this and there probably is.\r
-The problem is that its a hell of a lot of work and would require significant\r
-changes to the configure process, the internal code and the test suite.\r
-In addition, these changes must not break compilation on any of the platforms\r
-libsndfile is currently working on.\r
-</p>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q019"></A>\r
-<H2><BR/><B>Q19 : I have project files for Visual Studio / XCode / Whatever. Why\r
-       don't you distribute them with libsndfile?\r
-</B></H2>\r
-\r
-<P>\r
-There's a very good reason for this.\r
-I will only distribute things that I actually have an ability to test and\r
-maintain.\r
-Project files for a bunch of different compilers and Integrated Development\r
-Environments are simply too difficult to maintain.\r
-</P>\r
-\r
-<P>\r
-The problem is that every time I add a new file to libsndfile or rename an\r
-existing file I would have to modify all the project files and then test that\r
-libsndfile still built with all the different compilers.\r
-</P>\r
-\r
-<P>\r
-Maintaining these project files is also rather difficult if I don't have access\r
-to the required compiler/IDE.\r
-If I just edit the project files without testing them I will almost certainly\r
-get it wrong.\r
-If I release a version of libsndfile with broken project files, I'll get a bunch\r
-of emails from people complaining about it not building and have no way of\r
-fixing or even testing it.\r
-</P>\r
-\r
-<P>\r
-I currently release sources that I personally test on Win32, Linux and\r
-MacOS X (PowerPC) using the compiler I trust (GNU GCC).\r
-Supporting one compiler on three (actually much more because GCC is available\r
-almost everywhere) platforms is doable without too much pain.\r
-I also release binaries for Win32 with instructions on how to use those\r
-binaries with Visual Studio.\r
-As a guy who is mainly interested in Linux, I'm not to keen to jump through\r
-a bunch of hoops to support compilers and operating systems I don't use.\r
-</P>\r
-\r
-<P>\r
-So, I hear you want to volunteer to maintain the project files for Some Crappy\r
-Compiler 2007?\r
-Well sorry, that won't work either.\r
-I have had numerous people over the years offer to maintaining the project\r
-files for Microsoft's Visual Studio.\r
-Every single time that happened, they maintained it for a release or two and\r
-then disappeared off the face of the earth.\r
-Hence, I'm not willing to enter into an arrangement like that again.\r
-</P>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q020"></A>\r
-<H2><BR/><B>Q20 : Why doesn't libsndfile support MP3? Lots of other Open Source\r
-       projects support it!\r
-</B></H2>\r
-\r
-<P>\r
-MP3 is not supported for one very good reason; doing so requires the payment\r
-of licensing fees.\r
-As can be seen from\r
-       <a href="http://www.mp3licensing.com/royalty/software.html">\r
-       mp3licensing.com</a>\r
-the required royalty payments are not cheap.\r
-</P>\r
-\r
-<p>\r
-Yes, I know other libraries ignore the licensing requirements, but their legal\r
-status is extremely dubious.\r
-At any time, the body selling the licenses could go after the authors of those\r
-libraries.\r
-Some of those authors may be students and hence wouldn't be worth pursuing.\r
-</P>\r
-\r
-<p>\r
-However, libsndfile is released under the name of a company, Mega Nerd Pty Ltd;\r
-a company which has income from from libsamplerate licensing, libsndfile based\r
-consulting income and other unrelated consulting income.\r
-Adding MP3 support to libsndfile could place that income would be under legal\r
-threat.\r
-</p>\r
-\r
-<p>\r
-Fortunately, Ogg Vorbis exists as an alternative to MP3.\r
-Support for Ogg Vorbis was added to libsndfile (mostly due to the efforts of\r
-John ffitch of the Csound project) in version 1.0.18.\r
-</p>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q021"></A>\r
-<H2><BR/><B>Q21 : How do I use libsndfile in a closed source or commercial program\r
-       and comply with the license?\r
-</B></H2>\r
-\r
-<p>\r
-Here is a checklist of things you need to do to make sure your use of libsndfile\r
-in a closed source or commercial project complies with the license libsndfile is\r
-released under, the GNU Lesser General Public License (LGPL):\r
-</p>\r
-\r
-<ul>\r
-<li>Make sure you are linking to libsndfile as a shared library (Linux and Unix\r
-       systems), Dynamic Link Library (Microsoft Windows) or dynlib (Mac OS X).\r
-       If you are using some other operating system that doesn't allow dynamically\r
-       linked libraries, you will not be able to use libsndfile unless you release\r
-       the source code to your program.\r
-<li>In the licensing documentation for your program, add a statement that your\r
-       software depends on libsndfile and that libsndfile is released under the GNU\r
-       Lesser General Public License, either\r
-               <a href="http://www.gnu.org/licenses/lgpl-2.1.txt">version 2.1</a>\r
-       or optionally\r
-               <a href="http://www.gnu.org/licenses/lgpl.txt">version 3</a>.\r
-<li>Include the text for both versions of the license, possibly as separate\r
-       files named libsndfile_lgpl_v2_1.txt and libsndfile_lgpl_v3.txt.\r
-</ul>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q022"></A>\r
-<H2><BR/><B>Q22 : What versions of Windows does libsndfile work on?\r
-</B></H2>\r
-\r
-<p>\r
-Currently the precompiled windows binaries are thoroughly tested on Windows XP.\r
-As such, they should also work on Win2k and Windows Vista.\r
-They may also work on earlier versions of Windows.\r
-</p>\r
-\r
-<p>\r
-Since version 0.1.18 I have also been releasing precompiled binaries for Win64,\r
-the 64 bit version of Windows.\r
-These binaries have received much less testing than the  32 bit versions, but\r
-should work as expected.\r
-I'd be very interested in receiving feedback  on these binaries.\r
-</p>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="Q023"></A>\r
-<H2><BR/><B>Q23 : I'm cross compiling libsndfile for another platform. How can I\r
-       run the test suite?\r
-</B></H2>\r
-\r
-<p>\r
-</p>\r
-\r
-<p>\r
-Since version 1.0.21 the top level Makefile has an extra make target,\r
-'test-tarball'.\r
-Building this target creates a tarball called called:\r
-</p>\r
-\r
-<center><tt>\r
-libsndfile-testsuite-${host_triplet}-${version}.tar.gz\r
-</tt></center>\r
-\r
-<p>\r
-in the top level directory.\r
-This tarball can then be copied to the target platform.\r
-Once untarred and test script <tt>test_wrapper.sh</tt> can be run from\r
-the top level of the extracted tarball.\r
-</p>\r
-\r
-<!-- ========================================================================= -->\r
-<HR>\r
-<P>\r
-       The libsndfile home page is here :\r
-               <A HREF="http://www.mega-nerd.com/libsndfile/">\r
-                       http://www.mega-nerd.com/libsndfile/</A>.\r
-<BR/>\r
-Version : 1.0.25\r
-</P>\r
-\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/api.html b/fdmdv2/libsndfile/doc/api.html
deleted file mode 100644 (file)
index a1602c4..0000000
+++ /dev/null
@@ -1,781 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       The libsndfile API\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <META NAME="Description" CONTENT="The libsndfile API.">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<BR>\r
-<H1><B>libsndfile</B></H1>\r
-<P>\r
-       Libsndfile is a library designed to allow the reading and writing of many\r
-       different sampled sound file formats (such as MS Windows WAV and the Apple/SGI\r
-       AIFF format) through one standard library interface.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-       During read and write operations, formats are seamlessly converted between the\r
-       format the application program has requested or supplied and the file's data\r
-       format. The application programmer can remain blissfully unaware of issues\r
-       such as file endian-ness and data format. See <A HREF="#note1">Note 1</A> and\r
-       <A HREF="#note2">Note 2</A>.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-       Every effort is made to keep these documents up-to-date, error free and\r
-       unambiguous.\r
-       However, since maintaining the documentation is the least fun part of working\r
-       on libsndfile, these docs can and do fall behind the behaviour of library.\r
-       If any errors, omissions or ambiguities are found, please notify me (erikd)\r
-       at mega-nerd dot com.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-       To supplement this reference documentation, there are simple example programs\r
-       included in the source code tarball.\r
-       The test suite which is also part of the source code tarball is also a good\r
-       place to look for the correct usage of the library functions.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-       <B> Finally, if you think there is some feature missing from libsndfile, check that\r
-       it isn't already implemented (and documented)\r
-               <A HREF="command.html">here</A>.\r
-       </B>\r
-</P>\r
-\r
-<H2><B>Synopsis</B></H2>\r
-<P>\r
-The functions of libsndfile are defined as follows:\r
-</P>\r
-<!-- pepper -->\r
-<PRE>\r
-      #include &lt;stdio.h&gt;\r
-      #include &lt;sndfile.h&gt;\r
-\r
-      SNDFILE*    <A HREF="#open">sf_open</A>          (const char *path, int mode, SF_INFO *sfinfo) ;\r
-      SNDFILE*    <A HREF="#open_fd">sf_open_fd</A>       (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;\r
-      SNDFILE*           <A HREF="#open_virtual">sf_open_virtual</A>  (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ;\r
-      int         <A HREF="#check">sf_format_check</A>  (const SF_INFO *info) ;\r
-\r
-      sf_count_t  <A HREF="#seek">sf_seek</A>          (SNDFILE *sndfile, sf_count_t frames, int whence) ;\r
-\r
-      int         <A HREF="command.html">sf_command</A>       (SNDFILE *sndfile, int cmd, void *data, int datasize) ;\r
-\r
-      int         <A HREF="#error">sf_error</A>         (SNDFILE *sndfile) ;\r
-      const char* <A HREF="#error">sf_strerror</A>      (SNDFILE *sndfile) ;\r
-      const char* <A HREF="#error">sf_error_number</A>  (int errnum) ;\r
-\r
-      int         <A HREF="#error">sf_perror</A>        (SNDFILE *sndfile) ;\r
-      int         <A HREF="#error">sf_error_str</A>     (SNDFILE *sndfile, char* str, size_t len) ;\r
-\r
-      int         <A HREF="#close">sf_close</A>         (SNDFILE *sndfile) ;\r
-      void        <A HREF="#write_sync">sf_write_sync</A>    (SNDFILE *sndfile) ;\r
-\r
-      sf_count_t  <A HREF="#read">sf_read_short</A>    (SNDFILE *sndfile, short *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#read">sf_read_int</A>      (SNDFILE *sndfile, int *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#read">sf_read_float</A>    (SNDFILE *sndfile, float *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#read">sf_read_double</A>   (SNDFILE *sndfile, double *ptr, sf_count_t items) ;\r
-\r
-      sf_count_t  <A HREF="#readf">sf_readf_short</A>   (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#readf">sf_readf_int</A>     (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#readf">sf_readf_float</A>   (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#readf">sf_readf_double</A>  (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;\r
-\r
-      sf_count_t  <A HREF="#write">sf_write_short</A>   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#write">sf_write_int</A>     (SNDFILE *sndfile, int *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#write">sf_write_float</A>   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;\r
-      sf_count_t  <A HREF="#write">sf_write_double</A>  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;\r
-\r
-      sf_count_t  <A HREF="#writef">sf_writef_short</A>  (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#writef">sf_writef_int</A>    (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#writef">sf_writef_float</A>  (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;\r
-      sf_count_t  <A HREF="#writef">sf_writef_double</A> (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;\r
-\r
-      sf_count_t  <A HREF="#raw">sf_read_raw</A>      (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;\r
-      sf_count_t  <A HREF="#raw">sf_write_raw</A>     (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;\r
-\r
-      const char* <A HREF="#string">sf_get_string</A>    (SNDFILE *sndfile, int str_type) ;\r
-      int         <A HREF="#string">sf_set_string</A>    (SNDFILE *sndfile, int str_type, const char* str) ;\r
-\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-SNDFILE* is an anonymous pointer to data which is private to the library.\r
-</P>\r
-\r
-\r
-<A NAME="open"></A>\r
-<H2><B>File Open Function</B></H2>\r
-\r
-<PRE>\r
-      SNDFILE*  sf_open    (const char *path, int mode, SF_INFO *sfinfo) ;\r
-</PRE>\r
-\r
-<P>\r
-The SF_INFO structure is for passing data between the calling function and the library\r
-when opening a file for reading or writing. It is defined in sndfile.h as follows:\r
-</P>\r
-<!-- pepper -->\r
-<PRE>\r
-      typedef struct\r
-      {    sf_count_t  frames ;     /* Used to be called samples. */\r
-           int         samplerate ;\r
-           int         channels ;\r
-           int         format ;\r
-           int         sections ;\r
-           int         seekable ;\r
-       } SF_INFO ;\r
-</PRE>\r
-\r
-<P>\r
-The mode parameter for this function can be any one of the following three values:\r
-</P>\r
-<!-- pepper -->\r
-<PRE>\r
-      SFM_READ    - read only mode\r
-      SFM_WRITE   - write only mode\r
-      SFM_RDWR    - read/write mode\r
-</PRE>\r
-\r
-<P>\r
-When opening a file for read, the <b>format</B> field should be set to zero before\r
-calling sf_open().\r
-The only exception to this is the case of RAW files where the caller has to set\r
-the samplerate, channels and format fields to valid values.\r
-All other fields of the structure are filled in by the library.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-When opening a file for write, the caller must fill in structure members samplerate,\r
-channels, and format.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-The format field in the above SF_INFO structure is made up of the bit-wise OR of a\r
-major format type (values between 0x10000 and 0x08000000), a minor format type\r
-(with values less than 0x10000) and an optional endian-ness value.\r
-The currently understood formats are listed in sndfile.h as follows and also include\r
-bitmasks for separating major and minor file types.\r
-Not all combinations of endian-ness and major and minor file types are valid.\r
-</P>\r
-<!-- pepper -->\r
-<PRE>\r
-      enum\r
-      {   /* Major formats. */\r
-          SF_FORMAT_WAV          = 0x010000,     /* Microsoft WAV format (little endian). */\r
-          SF_FORMAT_AIFF         = 0x020000,     /* Apple/SGI AIFF format (big endian). */\r
-          SF_FORMAT_AU           = 0x030000,     /* Sun/NeXT AU format (big endian). */\r
-          SF_FORMAT_RAW          = 0x040000,     /* RAW PCM data. */\r
-          SF_FORMAT_PAF          = 0x050000,     /* Ensoniq PARIS file format. */\r
-          SF_FORMAT_SVX          = 0x060000,     /* Amiga IFF / SVX8 / SV16 format. */\r
-          SF_FORMAT_NIST         = 0x070000,     /* Sphere NIST format. */\r
-          SF_FORMAT_VOC          = 0x080000,     /* VOC files. */\r
-          SF_FORMAT_IRCAM        = 0x0A0000,     /* Berkeley/IRCAM/CARL */\r
-          SF_FORMAT_W64          = 0x0B0000,     /* Sonic Foundry's 64 bit RIFF/WAV */\r
-          SF_FORMAT_MAT4         = 0x0C0000,     /* Matlab (tm) V4.2 / GNU Octave 2.0 */\r
-          SF_FORMAT_MAT5         = 0x0D0000,     /* Matlab (tm) V5.0 / GNU Octave 2.1 */\r
-          SF_FORMAT_PVF          = 0x0E0000,     /* Portable Voice Format */\r
-          SF_FORMAT_XI           = 0x0F0000,     /* Fasttracker 2 Extended Instrument */\r
-          SF_FORMAT_HTK          = 0x100000,     /* HMM Tool Kit format */\r
-          SF_FORMAT_SDS          = 0x110000,     /* Midi Sample Dump Standard */\r
-          SF_FORMAT_AVR          = 0x120000,     /* Audio Visual Research */\r
-          SF_FORMAT_WAVEX        = 0x130000,     /* MS WAVE with WAVEFORMATEX */\r
-          SF_FORMAT_SD2          = 0x160000,     /* Sound Designer 2 */\r
-          SF_FORMAT_FLAC         = 0x170000,     /* FLAC lossless file format */\r
-          SF_FORMAT_CAF          = 0x180000,     /* Core Audio File format */\r
-          SF_FORMAT_WVE          = 0x190000,     /* Psion WVE format */\r
-          SF_FORMAT_OGG          = 0x200000,     /* Xiph OGG container */\r
-          SF_FORMAT_MPC2K        = 0x210000,     /* Akai MPC 2000 sampler */\r
-          SF_FORMAT_RF64         = 0x220000,     /* RF64 WAV file */\r
-\r
-          /* Subtypes from here on. */\r
-\r
-          SF_FORMAT_PCM_S8       = 0x0001,       /* Signed 8 bit data */\r
-          SF_FORMAT_PCM_16       = 0x0002,       /* Signed 16 bit data */\r
-          SF_FORMAT_PCM_24       = 0x0003,       /* Signed 24 bit data */\r
-          SF_FORMAT_PCM_32       = 0x0004,       /* Signed 32 bit data */\r
-\r
-          SF_FORMAT_PCM_U8       = 0x0005,       /* Unsigned 8 bit data (WAV and RAW only) */\r
-\r
-          SF_FORMAT_FLOAT        = 0x0006,       /* 32 bit float data */\r
-          SF_FORMAT_DOUBLE       = 0x0007,       /* 64 bit float data */\r
-\r
-          SF_FORMAT_ULAW         = 0x0010,       /* U-Law encoded. */\r
-          SF_FORMAT_ALAW         = 0x0011,       /* A-Law encoded. */\r
-          SF_FORMAT_IMA_ADPCM    = 0x0012,       /* IMA ADPCM. */\r
-          SF_FORMAT_MS_ADPCM     = 0x0013,       /* Microsoft ADPCM. */\r
-\r
-          SF_FORMAT_GSM610       = 0x0020,       /* GSM 6.10 encoding. */\r
-          SF_FORMAT_VOX_ADPCM    = 0x0021,       /* Oki Dialogic ADPCM encoding. */\r
-\r
-          SF_FORMAT_G721_32      = 0x0030,       /* 32kbs G721 ADPCM encoding. */\r
-          SF_FORMAT_G723_24      = 0x0031,       /* 24kbs G723 ADPCM encoding. */\r
-          SF_FORMAT_G723_40      = 0x0032,       /* 40kbs G723 ADPCM encoding. */\r
-\r
-          SF_FORMAT_DWVW_12      = 0x0040,       /* 12 bit Delta Width Variable Word encoding. */\r
-          SF_FORMAT_DWVW_16      = 0x0041,       /* 16 bit Delta Width Variable Word encoding. */\r
-          SF_FORMAT_DWVW_24      = 0x0042,       /* 24 bit Delta Width Variable Word encoding. */\r
-          SF_FORMAT_DWVW_N       = 0x0043,       /* N bit Delta Width Variable Word encoding. */\r
-\r
-          SF_FORMAT_DPCM_8       = 0x0050,       /* 8 bit differential PCM (XI only) */\r
-          SF_FORMAT_DPCM_16      = 0x0051,       /* 16 bit differential PCM (XI only) */\r
-\r
-          SF_FORMAT_VORBIS       = 0x0060,       /* Xiph Vorbis encoding. */\r
-\r
-          /* Endian-ness options. */\r
-\r
-          SF_ENDIAN_FILE         = 0x00000000,   /* Default file endian-ness. */\r
-          SF_ENDIAN_LITTLE       = 0x10000000,   /* Force little endian-ness. */\r
-          SF_ENDIAN_BIG          = 0x20000000,   /* Force big endian-ness. */\r
-          SF_ENDIAN_CPU          = 0x30000000,   /* Force CPU endian-ness. */\r
-\r
-          SF_FORMAT_SUBMASK      = 0x0000FFFF,\r
-          SF_FORMAT_TYPEMASK     = 0x0FFF0000,\r
-          SF_FORMAT_ENDMASK      = 0x30000000\r
-      } ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-Every call to sf_open() should be matched with a call to sf_close() to free up\r
-memory allocated during the call to sf_open().\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-On success, the sf_open function returns a non-NULL pointer which should be\r
-passed as the first parameter to all subsequent libsndfile calls dealing with\r
-that audio file.\r
-On fail, the sf_open function returns a NULL pointer.\r
-An explanation of the error can obtained by passing NULL to\r
-       <A HREF="#error">sf_strerror</A>.\r
-</P>\r
-\r
-<A NAME="open_fd"></A>\r
-<H3><B>File Descriptor Open</B></H3>\r
-\r
-<PRE>\r
-      SNDFILE*  sf_open_fd (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;\r
-</PRE>\r
-\r
-<P>\r
-<b>Note:</b> On Microsoft Windows, this function does not work if the\r
-application and the libsndfile DLL are linked to different versions of the\r
-Microsoft C runtime DLL.\r
-</P>\r
-<P>\r
-The second open function takes a file descriptor of a file that has already been\r
-opened.\r
-Care should be taken to ensure that the mode of the file represented by the\r
-descriptor matches the mode argument.\r
-This function is useful in the following circumstances:\r
-</P>\r
-\r
-<UL>\r
-       <LI>Opening temporary files securely (ie use the tmpfile() to return a\r
-               FILE* pointer and then using fileno() to retrieve the file descriptor\r
-               which is then passed to libsndfile).\r
-       <LI>Opening files with file names using OS specific character encodings\r
-               and then passing the file descriptor to sf_open_fd().\r
-       <LI>Opening sound files embedded within larger files.\r
-                       <A HREF="embedded_files.html">More info</A>.\r
-</UL>\r
-\r
-<P>\r
-Every call to sf_open_fd() should be matched with a call to sf_close() to free up\r
-memory allocated during the call to sf_open().\r
-</P>\r
-\r
-<P>\r
-When sf_close() is called, the file descriptor is only closed if the <B>close_desc</B>\r
-parameter was TRUE when the sf_open_fd() function was called.\r
-</P>\r
-\r
-<P>\r
-On success, the sf_open_fd function returns a non-NULL pointer which should be\r
-passed as the first parameter to all subsequent libsndfile calls dealing with\r
-that audio file.\r
-On fail, the sf_open_fd function returns a NULL pointer.\r
-</P>\r
-\r
-<A NAME="open_virtual"></A>\r
-<h3><b>Virtual File Open Function</b></h3>\r
-<pre>\r
-      SNDFILE*         sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ;\r
-</pre>\r
-<p>\r
-       Opens a soundfile from a virtual file I/O context which is provided\r
-       by the caller. This is usually used to interface libsndfile to a stream or buffer\r
-       based system. Apart from the sfvirtual and the user_data parameters this function behaves\r
-       like <a href="#open">sf_open</a>.\r
-</p>\r
-\r
-<pre>\r
-      typedef struct\r
-      {    sf_vio_get_filelen  get_filelen ;\r
-           sf_vio_seek         seek ;\r
-           sf_vio_read         read ;\r
-           sf_vio_write        write ;\r
-           sf_vio_tell         tell ;\r
-      } SF_VIRTUAL_IO ;\r
-</pre>\r
-<p>\r
-Libsndfile calls the callbacks provided by the SF_VIRTUAL_IO structure when opening, reading\r
-and writing to the virtual file context. The user_data pointer is a user defined context which\r
-will be available in the callbacks.\r
-</p>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_get_filelen) (void *user_data) ;\r
-      typedef sf_count_t  (*sf_vio_seek)        (sf_count_t offset, int whence, void *user_data) ;\r
-      typedef sf_count_t  (*sf_vio_read)        (void *ptr, sf_count_t count, void *user_data) ;\r
-      typedef sf_count_t  (*sf_vio_write)       (const void *ptr, sf_count_t count, void *user_data) ;\r
-      typedef sf_count_t  (*sf_vio_tell)        (void *user_data) ;\r
-</pre>\r
-<h4>sf_vio_get_filelen</h4>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_get_filelen) (void *user_data) ;\r
-</pre>\r
-<p>\r
-The virtual file contex must return the length of the virtual file in bytes.<br>\r
-</p>\r
-<h4>sf_vio_seek</h4>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_seek)        (sf_count_t offset, int whence, void *user_data) ;\r
-</pre>\r
-<p>\r
-The virtual file context must seek to offset using the seek mode provided by whence which is one of<br>\r
-</p>\r
-<pre>\r
-      SEEK_CUR\r
-      SEEK_SET\r
-      SEEK_END\r
-</pre>\r
-<p>\r
-The return value must contain the new offset in the file.\r
-</p>\r
-<h4>sf_vio_read</h4>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_read)        (void *ptr, sf_count_t count, void *user_data) ;\r
-</pre>\r
-<p>\r
-The virtual file context must copy ("read") "count" bytes into the\r
-buffer provided by ptr and return the count of actually copied bytes.\r
-</p>\r
-<h4>sf_vio_write</h4>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_write)       (const void *ptr, sf_count_t count, void *user_data) ;\r
-</pre>\r
-<p>\r
-The virtual file context must process "count" bytes stored in the\r
-buffer passed with ptr and return the count of actually processed bytes.<br>\r
-</p>\r
-<h4>sf_vio_tell</h4>\r
-<pre>\r
-      typedef sf_count_t  (*sf_vio_tell)        (void *user_data) ;\r
-</pre>\r
-<p>\r
-Return the current position of the virtual file context.<br>\r
-</p>\r
-\r
-\r
-<A NAME="check"></A>\r
-<BR><H2><B>Format Check Function</B></H2>\r
-\r
-<PRE>\r
-      int  sf_format_check (const SF_INFO *info) ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-This function allows the caller to check if a set of parameters in the SF_INFO struct\r
-is valid before calling sf_open (SFM_WRITE).\r
-</P>\r
-<P>\r
-sf_format_check returns TRUE if the parameters are valid and FALSE otherwise.\r
-</P>\r
-\r
-<A NAME="seek"></A>\r
-<BR><H2><B>File Seek Functions</B></H2>\r
-\r
-<PRE>\r
-      sf_count_t  sf_seek  (SNDFILE *sndfile, sf_count_t frames, int whence) ;\r
-</PRE>\r
-\r
-<P>\r
-The file seek functions work much like lseek in unistd.h with the exception that\r
-the non-audio data is ignored and the seek only moves within the audio data section of\r
-the file.\r
-In addition, seeks are defined in number of (multichannel) frames.\r
-Therefore, a seek in a stereo file from the current position forward with an offset\r
-of 1 would skip forward by one sample of both channels.\r
-</P>\r
-\r
-<P>\r
-like lseek(), the whence parameter can be any one of the following three values:\r
-</P>\r
-\r
-<PRE>\r
-      SEEK_SET  - The offset is set to the start of the audio data plus offset (multichannel) frames.\r
-      SEEK_CUR  - The offset is set to its current location plus offset (multichannel) frames.\r
-      SEEK_END  - The offset is set to the end of the data plus offset (multichannel) frames.\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-Internally, libsndfile keeps track of the read and write locations using separate\r
-read and write pointers.\r
-If a file has been opened with a mode of SFM_RDWR, bitwise OR-ing the standard whence\r
-values above with either SFM_READ or SFM_WRITE allows the read and write pointers to\r
-be modified separately.\r
-If the SEEK_* values are used on their own, the read and write pointers are\r
-both modified.\r
-</P>\r
-\r
-<P>\r
-Note that the frames offset can be negative and in fact should be when SEEK_END is used for the\r
-whence parameter.\r
-</P>\r
-<P>\r
-sf_seek will return the offset in (multichannel) frames from the start of the audio data\r
-or -1 if an error occured (ie an attempt is made to seek beyond the start or end of the file).\r
-</P>\r
-\r
-<A NAME="error"></A>\r
-<H2><BR><B>Error Reporting Functions</B></H2>\r
-\r
-\r
-<PRE>\r
-      int         sf_error        (SNDFILE *sndfile) ;\r
-</PRE>\r
-<P>\r
-This function returns the current error number for the given SNDFILE.\r
-The error number may be one of the following:\r
-</P>\r
-<PRE>\r
-        enum\r
-        {   SF_ERR_NO_ERROR             = 0,\r
-            SF_ERR_UNRECOGNISED_FORMAT  = 1,\r
-            SF_ERR_SYSTEM               = 2,\r
-            SF_ERR_MALFORMED_FILE       = 3,\r
-            SF_ERR_UNSUPPORTED_ENCODING = 4\r
-        } ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-or any one of many other internal error values.\r
-Applications should only test the return value against error values defined in\r
-&lt;sndfile.h&gt; as the internal error values are subject to change at any\r
-time.\r
-For errors not in the above list, the function sf_error_number() can be used to\r
-convert it to an error string.\r
-</P>\r
-\r
-<PRE>\r
-      const char* sf_strerror     (SNDFILE *sndfile) ;\r
-      const char* sf_error_number (int errnum) ;\r
-</PRE>\r
-\r
-<P>\r
-The error functions sf_strerror() and sf_error_number() convert the library's internal\r
-error enumerations into text strings.\r
-</P>\r
-<PRE>\r
-      int         sf_perror     (SNDFILE *sndfile) ;\r
-      int         sf_error_str  (SNDFILE *sndfile, char* str, size_t len) ;\r
-</PRE>\r
-\r
-<P>\r
-The functions sf_perror() and sf_error_str() are deprecated and will be dropped\r
-from the library at some later date.\r
-</P>\r
-\r
-<A NAME="close"></A>\r
-<H2><BR><B>File Close Function</B></H2>\r
-\r
-<PRE>\r
-      int  sf_close  (SNDFILE *sndfile) ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-The close function closes the file, deallocates its internal buffers and returns\r
-0 on success or an error value otherwise.\r
-</P>\r
-<BR>\r
-\r
-<A NAME="write_sync"></A>\r
-<H2><BR><B>Write Sync Function</B></H2>\r
-\r
-<PRE>\r
-      void  sf_write_sync  (SNDFILE *sndfile) ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-If the file is opened SFM_WRITE or SFM_RDWR, call the operating system's function\r
-to force the writing of all file cache buffers to disk. If the file is opened\r
-SFM_READ no action is taken.\r
-</P>\r
-<BR>\r
-\r
-\r
-<A NAME="read"></A>\r
-<H2><BR><B>File Read Functions (Items)</B></H2>\r
-\r
-<PRE>\r
-      sf_count_t  sf_read_short   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_read_int     (SNDFILE *sndfile, int *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_read_float   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_read_double  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;\r
-</PRE>\r
-\r
-<P>\r
-The file read items functions fill the array pointed to by ptr with the requested\r
-number of items. The items parameter must be an integer product of the number\r
-of channels or an error will occur.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-It is important to note that the data type used by the calling program and the data\r
-format of the file do not need to be the same. For instance, it is possible to open\r
-a 16 bit PCM encoded WAV file and read the data using sf_read_float(). The library\r
-seamlessly converts between the two formats on-the-fly. See\r
-<A HREF="#note1">Note 1</A>.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-The sf_read_XXXX functions return the number of items read.\r
-Unless the end of the file was reached during the read, the return value should\r
-equal the number of items requested.\r
-Attempts to read beyond the end of the file will not result in an error but will\r
-cause the sf_read_XXXX functions to return less than the number of items requested\r
-or 0 if already at the end of the file.\r
-</P>\r
-\r
-<A NAME="readf"></A>\r
-<H2><BR><B>File Read Functions (Frames)</B></H2>\r
-\r
-<PRE>\r
-      sf_count_t  sf_readf_short   (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_readf_int     (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_readf_float   (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_readf_double  (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-The file read frames functions fill the array pointed to by ptr with the requested\r
-number of frames of data. The array must be large enough to hold the product of\r
-frames and the number of channels.\r
-</P>\r
-\r
-<P><B>\r
-Care must be taken to ensure that there is enough space in the array pointed to by\r
-ptr, to take (frames * channels) number of items (shorts, ints, floats or doubles).\r
-</B></P>\r
-\r
-<P>\r
-The sf_readf_XXXX functions return the number of frames read.\r
-Unless the end of the file was reached during the read, the return value should equal\r
-the number of frames requested.\r
-Attempts to read beyond the end of the file will not result in an error but will cause\r
-the sf_readf_XXXX functions to return less than the number of frames requested or 0 if\r
-already at the end of the file.\r
-</P>\r
-\r
-<A NAME="write"></A>\r
-<H2><BR><B>File Write Functions (Items)</B></H2>\r
-\r
-<PRE>\r
-      sf_count_t  sf_write_short   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_write_int     (SNDFILE *sndfile, int *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_write_float   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;\r
-      sf_count_t  sf_write_double  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;\r
-</PRE>\r
-\r
-<P>\r
-The file write items functions write the data in the array pointed to by ptr to the file.\r
-The items parameter must be an integer product of the number of channels or an error\r
-will occur.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-It is important to note that the data type used by the calling program and the data\r
-format of the file do not need to be the same. For instance, it is possible to open\r
-a 16 bit PCM encoded WAV file and write the data using sf_write_float(). The library\r
-seamlessly converts between the two formats on-the-fly. See\r
-<A HREF="#note1">Note 1</A>.\r
-</P>\r
-<P>\r
-The sf_write_XXXX functions return the number of items written (which should be the\r
-same as the items parameter).\r
-</P>\r
-\r
-<A NAME="writef"></A>\r
-<H2><BR><B>File Write Functions (Frames)</B></H2>\r
-\r
-<PRE>\r
-      sf_count_t  sf_writef_short  (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_writef_int    (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_writef_float  (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;\r
-      sf_count_t  sf_writef_double (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;\r
-</PRE>\r
-\r
-<P>\r
-The file write frames functions write the data in the array pointed to by ptr to the file.\r
-The array must be large enough to hold the product of frames and the number of channels.\r
-</P>\r
-<P>\r
-The sf_writef_XXXX functions return the number of frames written (which should be the\r
-same as the frames parameter).\r
-</P>\r
-\r
-<A NAME="raw"></A>\r
-<H2><BR><B>Raw File Read and Write Functions</B></H2>\r
-<!-- pepper -->\r
-<PRE>\r
-      sf_count_t  sf_read_raw     (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;\r
-      sf_count_t  sf_write_raw    (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;\r
-</PRE>\r
-\r
-<P>\r
-<b>Note:</b> Unless you are writing an external decoder/encode that uses\r
-libsndfile to handle the file headers, you should not be using these\r
-functions.\r
-</P>\r
-\r
-<P>\r
-The raw read and write functions read raw audio data from the audio file (not to be\r
-confused with reading RAW header-less PCM files). The number of bytes read or written\r
-must always be an integer multiple of the number of channels multiplied by the number\r
-of bytes required to represent one sample from one channel.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-The raw read and write functions return the number of bytes read or written (which\r
-should be the same as the bytes parameter).\r
-</P>\r
-\r
-<P>\r
-<B>\r
-Note : The result of using of both regular reads/writes and raw reads/writes on\r
-compressed file formats other than SF_FORMAT_ALAW and SF_FORMAT_ULAW is undefined.\r
-</B>\r
-</P>\r
-\r
-<p>\r
-See also : <a href="command.html#SFC_RAW_NEEDS_ENDSWAP">SFC_RAW_NEEDS_ENDSWAP</a>\r
-</p>\r
-\r
-<A NAME="string"></A>\r
-<H2><BR><B>Functions for Reading and Writing String Data</B></H2>\r
-\r
-\r
-<PRE>\r
-      const char* sf_get_string   (SNDFILE *sndfile, int str_type) ;\r
-      int         sf_set_string   (SNDFILE *sndfile, int str_type, const char* str) ;\r
-</PRE>\r
-\r
-<P>\r
-These functions allow strings to be set on files opened for write and to be\r
-retrieved from files opened for read where supported by the given file type.\r
-The <B>str_type</B> parameter can be any one of the following string types:\r
-</P>\r
-\r
-<PRE>\r
-          enum\r
-          {   SF_STR_TITLE,\r
-              SF_STR_COPYRIGHT,\r
-              SF_STR_SOFTWARE,\r
-              SF_STR_ARTIST,\r
-              SF_STR_COMMENT,\r
-              SF_STR_DATE,\r
-              SF_STR_ALBUM,\r
-              SF_STR_LICENSE,\r
-              SF_STR_TRACKNUMBER,\r
-              SF_STR_GENRE\r
-          } ;\r
-</PRE>\r
-\r
-<P>\r
-The sf_get_string() function returns the specified string if it exists and a\r
-NULL pointer otherwise.\r
-In addition to the string ids above, SF_STR_FIRST (== SF_STR_TITLE) and\r
-SF_STR_LAST (always the same as the highest numbers string id) are also\r
-available to allow iteration over all the available string ids.\r
-</P>\r
-\r
-<P>\r
-The sf_set_string() function sets the string data.\r
-It returns zero on success and non-zero on error.\r
-The error code can be converted to a string using sf_error_number().\r
-</P>\r
-\r
-\r
-<P>\r
-\r
-</P>\r
-\r
-<HR>\r
-\r
-<A NAME="note1"></A>\r
-<H2><BR><B>Note 1</B></H2>\r
-<!-- pepper -->\r
-<P>\r
-When converting between integer PCM formats of differing size (ie using sf_read_int()\r
-to read a 16 bit PCM encoded WAV file) libsndfile obeys one simple rule:\r
-</P>\r
-\r
-<P CLASS=indent_block>\r
-Whenever integer data is moved from one sized container to another sized container,\r
-the most significant bit in the source container will become the most significant bit\r
-in the destination container.\r
-</P>\r
-\r
-<P>\r
-When converting between integer data and floating point data, different rules apply.\r
-The default behaviour when reading floating point data (sf_read_float() or\r
-sf_read_double ()) from a file with integer data is normalisation. Regardless of\r
-whether data in the file is 8, 16, 24 or 32 bit wide, the data will be read as\r
-floating point data in the range [-1.0, 1.0]. Similarly, data in the range [-1.0, 1.0]\r
-will be written to an integer PCM file so that a data value of 1.0 will be the largest\r
-allowable integer for the given bit width. This normalisation can be turned on or off\r
-using the <A HREF="command.html">sf_command</A> interface.\r
-</P>\r
-\r
-<A NAME="note2"></A>\r
-<H2><BR><B>Note 2</B></H2>\r
-\r
-<P>\r
-Reading a file containg floating point data (allowable with WAV, AIFF, AU and other\r
-file formats) using integer read methods (sf_read_short() or sf_read_int()) can\r
-produce unexpected results.\r
-For instance the data in the file may have a maximum absolute value &lt; 1.0 which\r
-would mean that all sample values read from the file will be zero.\r
-In order to read these files correctly using integer read methods, it is recommended\r
-that you use the\r
-     <A HREF="command.html">sf_command</A>\r
-interface, a command of\r
-     <A HREF="command.html#SFC_SET_SCALE_FLOAT_INT_READ">SFC_SET_SCALE_FLOAT_INT_READ</A>\r
-and a parameter of SF_TRUE to force correct scaling.\r
-</P>\r
-<!-- pepper -->\r
-<HR>\r
-<!-- pepper -->\r
-<P>\r
-       The libsndfile home page is\r
-               <A HREF="http://www.mega-nerd.com/libsndfile/">here</A>.\r
-</P>\r
-<P>\r
-Version : 1.0.25\r
-</P>\r
-<!-- pepper -->\r
-<!-- pepper -->\r
-<!-- pepper -->\r
-<!-- pepper -->\r
-\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/bugs.html b/fdmdv2/libsndfile/doc/bugs.html
deleted file mode 100644 (file)
index 49cd446..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       Bug Reporting\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<CENTER>\r
-               <H1><B>Reporting Bugs in libsndfile</B></H1>\r
-</CENTER>\r
-<P>\r
-       Before even attempting to report a bug in libsndfile please make sure you have\r
-       read the\r
-               <A HREF="FAQ.html">Frequently Asked Questions</A>.\r
-       If you are having a problem writing code using libsndfile make sure you read\r
-       the\r
-               <A HREF="api.html">Application Programming Interface</A>\r
-       documentation.\r
-</P>\r
-<P>\r
-       That said, I am interested in finding and fixing all genuine bugs in libsndfile.\r
-       Bugs I want to fix include any of the following problems (and probably others) :\r
-</P>\r
-       <UL>\r
-       <LI>    Compilation problems on new platforms.\r
-       <LI>    Errors being detected during the `make check' process.\r
-       <LI>    Segmentation faults occuring inside libsndfile.\r
-       <LI>    libsndfile hanging when opening a file.\r
-       <LI>    Supported sound file types being incorrectly read or written.\r
-       <LI>    Omissions, errors or spelling mistakes in the documentation.\r
-       </UL>\r
-\r
-<P>\r
-       When submitting a bug report you must include :\r
-</P>\r
-       <UL>\r
-       <LI>    Your system (CPU and memory size should be enough).\r
-       <LI>    The operating system you are using.\r
-       <LI>    Whether you are using a package provided by your distribution or you\r
-                       compiled it youself.\r
-       <LI>    If you compiled it yourself, the compiler you are using. (Also make\r
-                       sure to run 'make check'.)\r
-       <LI>    A description of the problem.\r
-       <LI>    Information generated by the sndfile-info program (see next paragraph).\r
-       <LI>    If you are having problems with sndfile-play and ALSA on Linux, I will\r
-                       need information about your kernel, ALSA version, compiler version,\r
-                       whether you compiled the kernel/ALSA your self or installed from a\r
-                       package etc.\r
-       </UL>\r
-\r
-<P>\r
-       If libsndfile compiles and installs correctly but has difficulty reading a particular\r
-       file or type of file you should run the <B>sndfile-info</B> program (from the examples\r
-       directory of the libsndfile distribution) on the file. See\r
-               <A HREF="sndfile_info.html">here</A>\r
-       for an example of the use of the <B>sndfile-info</B> program.\r
-</P>\r
-<P>\r
-       Please do not send me a sound file which fails to open under libsndfile unless I\r
-       specifically ask you to. The above information should usually suffice for most\r
-       problems.\r
-</P>\r
-<P>\r
-       Once you have the above information you should email it to one of the\r
-                <A HREF="lists.html">mailing lists</a>\r
-       (posting to these lists is limited to the list subscribers).\r
-\r
-</P>\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/command.html b/fdmdv2/libsndfile/doc/command.html
deleted file mode 100644 (file)
index 02453fe..0000000
+++ /dev/null
@@ -1,1605 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile : the sf_command function.\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <!-- Another version at the bottom of the page.  -->\r
-       <META NAME="Description" CONTENT="The libsndfile API.">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<H1><B>sf_command</B></H1>\r
-<PRE>\r
-\r
-        int    sf_command (SNDFILE *sndfile, int cmd, void *data, int datasize) ;\r
-</PRE>\r
-<P>\r
-       This function allows the caller to retrieve information from or change aspects of the\r
-       library behaviour.\r
-       Examples include retrieving a string containing the library version or changing the\r
-       scaling applied to floating point sample data during read and write.\r
-       Most of these operations are performed on a per-file basis.\r
-</P>\r
-<P>\r
-       The cmd parameter is an integer identifier which is defined in &lt;sndfile.h&gt;.\r
-       All of the valid command identifiers have names beginning with "SFC_".\r
-       Data is passed to and returned from the library by use of a void pointer.\r
-       The library will not read or write more than datasize bytes from the void pointer.\r
-       For some calls no data is required in which case data should be NULL and datasize\r
-       may be used for some other purpose.\r
-</P>\r
-<P>\r
-       The available commands are as follows:\r
-</P>\r
-\r
-<CENTER>\r
-<TABLE BORDER="0" WIDTH="90%" CELLPADDING="4">\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_LIB_VERSION">SFC_GET_LIB_VERSION</A></TD>\r
-       <TD>Retrieve the version of the library.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_LOG_INFO">SFC_GET_LOG_INFO</A></TD>\r
-       <TD>Retrieve the internal per-file operation log.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_SIGNAL_MAX">SFC_CALC_SIGNAL_MAX</A></TD>\r
-       <TD>Calculate the measured maximum signal value.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_NORM_SIGNAL_MAX">SFC_CALC_NORM_SIGNAL_MAX</A></TD>\r
-       <TD>Calculate the measured normalised maximum signal value.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_MAX_ALL_CHANNELS">SFC_CALC_MAX_ALL_CHANNELS</A></TD>\r
-       <TD>Calculate the peak value for each channel.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_NORM_MAX_ALL_CHANNELS">SFC_CALC_NORM_MAX_ALL_CHANNELS</A></TD>\r
-       <TD>Calculate the normalised peak for each channel.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_SIGNAL_MAX">SFC_GET_SIGNAL_MAX</A></TD>\r
-       <TD>Retrieve the peak value for the file (as stored in the file header).</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_MAX_ALL_CHANNELS">SFC_GET_MAX_ALL_CHANNELS</A></TD>\r
-       <TD>Retrieve the peak value for each channel  (as stored in the file header).</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_NORM_FLOAT">SFC_SET_NORM_FLOAT</A></TD>\r
-       <TD>Modify the normalisation behaviour of the floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_NORM_DOUBLE">SFC_SET_NORM_DOUBLE</A></TD>\r
-       <TD>Modify the normalisation behaviour of the double precision floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_NORM_FLOAT">SFC_GET_NORM_FLOAT</A></TD>\r
-       <TD>Retrieve the current normalisation behaviour of the floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_NORM_DOUBLE">SFC_GET_NORM_DOUBLE</A></TD>\r
-       <TD>Retrieve the current normalisation behaviour of the double precision floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_SCALE_FLOAT_INT_READ">SFC_SET_SCALE_FLOAT_INT_READ</A></TD>\r
-       <TD>Set/clear the scale factor when integer (short/int) data is read from a file\r
-       containing floating point data.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_SCALE_INT_FLOAT_WRITE">SFC_SET_SCALE_INT_FLOAT_WRITE</A></TD>\r
-       <TD>Set/clear the scale factor when integer (short/int) data is written to a file\r
-       as floating point data.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_SIMPLE_FORMAT_COUNT">SFC_GET_SIMPLE_FORMAT_COUNT</A></TD>\r
-       <TD>Retrieve the number of simple formats supported by libsndfile.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_SIMPLE_FORMAT">SFC_GET_SIMPLE_FORMAT</A></TD>\r
-       <TD>Retrieve information about a simple format.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_INFO">SFC_GET_FORMAT_INFO</A></TD>\r
-       <TD>Retrieve information about a major or subtype format.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_MAJOR_COUNT">SFC_GET_FORMAT_MAJOR_COUNT</A></TD>\r
-       <TD>Retrieve the number of major formats.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_MAJOR">SFC_GET_FORMAT_MAJOR</A></TD>\r
-       <TD>Retrieve information about a major format type.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_SUBTYPE_COUNT">SFC_GET_FORMAT_SUBTYPE_COUNT</A></TD>\r
-       <TD>Retrieve the number of subformats.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_SUBTYPE">SFC_GET_FORMAT_SUBTYPE</A></TD>\r
-       <TD>Retrieve information about a subformat.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_ADD_PEAK_CHUNK">SFC_SET_ADD_PEAK_CHUNK</A></TD>\r
-       <TD>Switch the code for adding the PEAK chunk to WAV and AIFF files on or off.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_UPDATE_HEADER_NOW">SFC_UPDATE_HEADER_NOW</A></TD>\r
-       <TD>Used when a file is open for write, this command will update the file\r
-               header to reflect the data written so far.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_UPDATE_HEADER_AUTO">SFC_SET_UPDATE_HEADER_AUTO</A></TD>\r
-       <TD>Used when a file is open for write, this command will cause the file header\r
-               to be updated after each write to the file.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_FILE_TRUNCATE">SFC_FILE_TRUNCATE</A></TD>\r
-       <TD>Truncate a file open for write or for read/write.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_RAW_START_OFFSET">SFC_SET_RAW_START_OFFSET</A></TD>\r
-       <TD>Change the data start offset for files opened up as SF_FORMAT_RAW.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_CLIPPING">SFC_SET_CLIPPING</A></TD>\r
-       <TD>Turn on/off automatic clipping when doing floating point to integer\r
-               conversion.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_CLIPPING">SFC_GET_CLIPPING</A></TD>\r
-       <TD>Retrieve current clipping setting.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_EMBED_FILE_INFO">SFC_GET_EMBED_FILE_INFO</A></TD>\r
-       <TD>Retrieve information about audio files embedded inside other files.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_WAVEX_GET_AMBISONIC">SFC_GET_AMBISONIC</A></TD>\r
-       <TD>Test a WAVEX file for Ambisonic format</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_WAVEX_SET_AMBISONIC">SFC_SET_AMBISONIC</A></TD>\r
-       <TD>Modify a WAVEX header for Ambisonic format</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_VBR_ENCODING_QUALITY">SFC_SET_VBR_ENCODING_QUALITY</A></TD>\r
-       <TD>Set the the Variable Bit Rate encoding quality</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_RAW_NEEDS_ENDSWAP">SFC_RAW_NEEDS_ENDSWAP</a></td>\r
-       <TD>Determine if raw data needs endswapping</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_BROADCAST_INFO">SFC_GET_BROADCAST_INFO</A></TD>\r
-       <TD>Retrieve the Broadcast Chunk info</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_BROADCAST_INFO">SFC_SET_BROADCAST_INFO</A></TD>\r
-       <TD>Set the Broadcast Chunk info</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_LOOP_INFO">SFC_GET_LOOP_INFO</A></TD>\r
-       <TD>Get loop info</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_INSTRUMENT">SFC_GET_INSTRUMENT</A></TD>\r
-       <TD>Get instrument info</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_INSTRUMENT">SFC_SET_INSTRUMENT</A></TD>\r
-       <TD>Set instrument info</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_VBR_ENCODING_QUALITY">SFC_SET_VBR_ENCODING_QUALITY</A></TD>\r
-       <TD>Set variable bit rate encoding quality</TD>\r
-</TR>\r
-\r
-\r
-\r
-<!--\r
-<TR>\r
-       <TD><A HREF="#add-dither">add dither</A></TD>\r
-       <TD>Add dither to output on write.</TD>\r
-</TR>\r
--->\r
-</TABLE>\r
-</CENTER>\r
-\r
-<BR><BR>\r
-\r
-<HR>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_LIB_VERSION"></A>\r
-<H2><BR><B>SFC_GET_LIB_VERSION</B></H2>\r
-<P>\r
-Retrieve the version of the library as a string.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : Not used\r
-        cmd      : SFC_GET_LIB_VERSION\r
-        data     : A pointer to a char buffer\r
-        datasize : The size of the the buffer\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        char  buffer [128] ;\r
-        sf_command (NULL, SFC_GET_LIB_VERSION, buffer, sizeof (buffer)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>This call will return the length of the retrieved version string.\r
-</DL>\r
-<DL>\r
-<DT>Notes:</DT>\r
-<DD>\r
-The string returned in the buffer passed to this function will not overflow\r
-the buffer and will always be null terminated .\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_LOG_INFO"></A>\r
-<H2><BR><B>SFC_GET_LOG_INFO</B></H2>\r
-<P>\r
-Retrieve the log buffer generated when opening a file as a string. This log\r
-buffer can often contain a good reason for why libsndfile failed to open a\r
-particular file.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_LOG_INFO\r
-        data     : A pointer to a char buffer\r
-        datasize : The size of the the buffer\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        char  buffer [2048] ;\r
-        sf_command (sndfile, SFC_GET_LOG_INFO, buffer, sizeof (buffer)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>This call will return the length of the retrieved version string.\r
-</DL>\r
-<DL>\r
-<DT>Notes:</DT>\r
-<DD>\r
-The string returned in the buffer passed to this function will not overflow\r
-the buffer and will always be null terminated .\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_SIGNAL_MAX"></A>\r
-<H2><BR><B>SFC_CALC_SIGNAL_MAX</B></H2>\r
-<P>\r
-Retrieve the measured maximum signal value. This involves reading through\r
-the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_SIGNAL_MAX\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   max_val ;\r
-        sf_command (sndfile, SFC_CALC_SIGNAL_MAX, &amp;max_val, sizeof (max_val)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_NORM_SIGNAL_MAX"></A>\r
-<H2><BR><B>SFC_CALC_NORM_SIGNAL_MAX</B></H2>\r
-<P>\r
-Retrieve the measured normalised maximum signal value. This involves reading\r
-through the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_NORM_SIGNAL_MAX\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   max_val ;\r
-        sf_command (sndfile, SFC_CALC_NORM_SIGNAL_MAX, &amp;max_val, sizeof (max_val)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_MAX_ALL_CHANNELS"></A>\r
-<H2><BR><B>SFC_CALC_MAX_ALL_CHANNELS</B></H2>\r
-<P>\r
-Calculate the peak value (ie a single number) for each channel.\r
-This involves reading through the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_MAX_ALL_CHANNELS\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double) * number_of_channels\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   peaks [number_of_channels] ;\r
-        sf_command (sndfile, SFC_CALC_MAX_ALL_CHANNELS, peaks, sizeof (peaks)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero if peaks have been calculated successfully and non-zero otherwise.\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_NORM_MAX_ALL_CHANNELS"></A>\r
-<H2><BR><B>SFC_CALC_NORM_MAX_ALL_CHANNELS</B></H2>\r
-<P>\r
-Calculate the normalised peak for each channel.\r
-This involves reading through the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_NORM_MAX_ALL_CHANNELS\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double) * number_of_channels\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   peaks [number_of_channels] ;\r
-        sf_command (sndfile, SFC_CALC_NORM_MAX_ALL_CHANNELS, peaks, sizeof (peaks)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero if peaks have been calculated successfully and non-zero otherwise.\r
-</DL>\r
-\r
-\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_SIGNAL_MAX"></A>\r
-<H2><BR><B>SFC_GET_SIGNAL_MAX</B></H2>\r
-<P>\r
-Retrieve the peak value for the file as stored in the file header.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_SIGNAL_MAX\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   max_peak ;\r
-        sf_command (sndfile, SFC_GET_SIGNAL_MAX, &amp;max_peak, sizeof (max_peak)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>SF_TRUE if the file header contained the peak value. SF_FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_MAX_ALL_CHANNELS"></A>\r
-<H2><BR><B>SFC_GET_MAX_ALL_CHANNELS</B></H2>\r
-<P>\r
-Retrieve the peak value for the file as stored in the file header.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_SIGNAL_MAX\r
-        data     : A pointer to an array of doubles\r
-        datasize : sizeof (double) * number_of_channels\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   peaks [number_of_channels] ;\r
-        sf_command (sndfile, SFC_GET_MAX_ALL_CHANNELS, peaks, sizeof (peaks)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>SF_TRUE if the file header contains per channel peak values for the file.\r
-               SF_FALSE otherwise.\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_NORM_FLOAT"></A>\r
-<H2><BR><B>SFC_SET_NORM_FLOAT</B></H2>\r
-<P>\r
-This command only affects data read from or written to using the floating point functions:\r
-</P>\r
-<PRE>\r
-       size_t    <A HREF="api.html#read">sf_read_float</A>    (SNDFILE *sndfile, float *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#readf">sf_readf_float</A>   (SNDFILE *sndfile, float *ptr, size_t frames) ;\r
-\r
-       size_t    <A HREF="api.html#write">sf_write_float</A>   (SNDFILE *sndfile, float *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#writef">sf_writef_float</A>  (SNDFILE *sndfile, float *ptr, size_t frames) ;\r
-</PRE>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_NORM_FLOAT\r
-        data     : NULL\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-For read operations setting normalisation to SF_TRUE means that the data from all\r
-subsequent reads will be be normalised to the range [-1.0, 1.0].\r
-</P>\r
-<P>\r
-For write operations, setting normalisation to SF_TRUE means than all data supplied\r
-to the float write functions should be in the range [-1.0, 1.0] and will be scaled\r
-for the file format as necessary.\r
-</P>\r
-<P>\r
-For both cases, setting normalisation to SF_FALSE means that no scaling will take place.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_NORM_FLOAT, NULL, SF_TRUE) ;\r
-\r
-        sf_command (sndfile, SFC_SET_NORM_FLOAT, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns the previous float normalisation mode.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_NORM_DOUBLE"></A>\r
-<H2><BR><B>SFC_SET_NORM_DOUBLE</B></H2>\r
-<P>\r
-This command only affects data read from or written to using the double precision\r
-floating point functions:\r
-</P>\r
-<PRE>\r
-       size_t    <A HREF="api.html#read">sf_read_double</A>    (SNDFILE *sndfile, double *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#readf">sf_readf_double</A>   (SNDFILE *sndfile, double *ptr, size_t frames) ;\r
-\r
-       size_t    <A HREF="api.html#write">sf_write_double</A>   (SNDFILE *sndfile, double *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#writef">sf_writef_double</A>  (SNDFILE *sndfile, double *ptr, size_t frames) ;\r
-</PRE>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_NORM_DOUBLE\r
-        data     : NULL\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-For read operations setting normalisation to SF_TRUE means that the data\r
-from all subsequent reads will be be normalised to the range [-1.0, 1.0].\r
-</P>\r
-<P>\r
-For write operations, setting normalisation to SF_TRUE means than all data supplied\r
-to the double write functions should be in the range [-1.0, 1.0] and will be scaled\r
-for the file format as necessary.\r
-</P>\r
-<P>\r
-For both cases, setting normalisation to SF_FALSE means that no scaling will take place.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_NORM_DOUBLE, NULL, SF_TRUE) ;\r
-\r
-        sf_command (sndfile, SFC_SET_NORM_DOUBLE, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns the previous double normalisation mode.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_NORM_FLOAT"></A>\r
-<H2><BR><B>SFC_GET_NORM_FLOAT</B></H2>\r
-<P>\r
-Retrieve the current float normalisation mode.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_NORM_FLOAT\r
-        data     : NULL\r
-        datasize : anything\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        normalisation = sf_command (sndfile, SFC_GET_NORM_FLOAT, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns TRUE if normalisation is on and FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_NORM_DOUBLE"></A>\r
-<H2><BR><B>SFC_GET_NORM_DOUBLE</B></H2>\r
-<P>\r
-Retrieve the current float normalisation mode.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_NORM_DOUBLE\r
-        data     : NULL\r
-        datasize : anything\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        normalisation = sf_command (sndfile, SFC_GET_NORM_DOUBLE, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns TRUE if normalisation is on and FALSE otherwise.\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_SCALE_FLOAT_INT_READ"></A>\r
-<H2><BR><B>SFC_SET_SCALE_FLOAT_INT_READ</B></H2>\r
-<P>\r
-Set/clear the scale factor when integer (short/int) data is read from a file\r
-containing floating point data.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_SCALE_FLOAT_INT_READ\r
-        data     : NULL\r
-        datasize : TRUE or FALSE\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_SCALE_FLOAT_INT_READ, NULL, SF_TRUE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns the previous SFC_SET_SCALE_FLOAT_INT_READ setting for this file.\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_SCALE_INT_FLOAT_WRITE"></A>\r
-<H2><BR><B>SFC_SET_SCALE_INT_FLOAT_WRITE</B></H2>\r
-<P>\r
-Set/clear the scale factor when integer (short/int) data is written to a file\r
-as floating point data.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_SCALE_FLOAT_INT_READ\r
-        data     : NULL\r
-        datasize : TRUE or FALSE\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_SCALE_INT_FLOAT_WRITE, NULL, SF_TRUE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns the previous SFC_SET_SCALE_INT_FLOAT_WRITE setting for this file.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_SIMPLE_FORMAT_COUNT"></A>\r
-<H2><BR><B>SFC_GET_SIMPLE_FORMAT_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of simple formats supported by libsndfile.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_SIMPLE_FORMAT_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int  count ;\r
-        sf_command (sndfile, SFC_GET_SIMPLE_FORMAT_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_SIMPLE_FORMAT"></A>\r
-<H2><BR><B>SFC_GET_SIMPLE_FORMAT</B></H2>\r
-<P>\r
-Retrieve information about a simple format.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_SIMPLE_FORMAT\r
-        data     : a pointer to an  SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-The SF_FORMAT_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   int         format ;\r
-            const char  *name ;\r
-            const char  *extension ;\r
-        } SF_FORMAT_INFO ;\r
-</PRE>\r
-<P>\r
-When sf_command() is called with SF_GET_SIMPLE_FORMAT, the value of the format\r
-field should be the format number (ie 0 &lt;= format &lt;= count value obtained using\r
-SF_GET_SIMPLE_FORMAT_COUNT).\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_SIMPLE_FORMAT_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k &lt; count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_SIMPLE_FORMAT, &amp;format_info, sizeof (format_info)) ;\r
-            printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-            } ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field of the SF_FORMAT_INFO struct will be a value which\r
-               can be placed in the format field of an SF_INFO struct when a file is to be opened\r
-               for write.\r
-       <DD>The name field will contain a char* pointer to the name of the string, eg. "WAV (Microsoft 16 bit PCM)".\r
-       <DD>The extension field will contain the most commonly used file extension for that file type.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_INFO"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_INFO</B></H2>\r
-<P>\r
-Retrieve information about a major or subtype format.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_INFO\r
-        data     : a pointer to an SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-The SF_FORMAT_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   int         format ;\r
-            const char  *name ;\r
-            const char  *extension ;\r
-        } SF_FORMAT_INFO ;\r
-</PRE>\r
-<P>\r
-When sf_command() is called with SF_GET_FORMAT_INFO, the format field is\r
-examined and if (format &amp; SF_FORMAT_TYPEMASK) is a valid format then the struct\r
-is filled in with information about the given major type.\r
-If (format &amp; SF_FORMAT_TYPEMASK) is FALSE and (format &amp; SF_FORMAT_SUBMASK) is a\r
-valid subtype format then the struct is filled in with information about the given\r
-subtype.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-\r
-        format_info.format = SF_FORMAT_WAV ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_INFO, &amp;format_info, sizeof (format_info)) ;\r
-        printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-\r
-        format_info.format = SF_FORMAT_ULAW ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_INFO, &amp;format_info, sizeof (format_info)) ;\r
-        printf ("%08x  %s\n", format_info.format, format_info.name) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-</DL>\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_MAJOR_COUNT"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_MAJOR_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of major formats.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_MAJOR_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int  count ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_MAJOR_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_MAJOR"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_MAJOR</B></H2>\r
-<P>\r
-Retrieve information about a major format type.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_MAJOR\r
-        data     : a pointer to an  SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_FORMAT_MAJOR_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k &lt; count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_FORMAT_MAJOR, &amp;format_info, sizeof (format_info)) ;\r
-            printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-            } ;\r
-</PRE>\r
-<P>\r
-For a more comprehensive example, see the program list_formats.c in the examples/\r
-directory of the libsndfile source code distribution.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field will be one of the major format identifiers such as\r
-               SF_FORMAT_WAV or SF_FORMAT_AIFF.\r
-       <DD>The name field will contain a char* pointer to the name of the string, eg. "WAV (Microsoft)".\r
-       <DD>The extension field will contain the most commonly used file extension for that file type.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_SUBTYPE_COUNT"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_SUBTYPE_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of subformats.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_SUBTYPE_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int   count ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_SUBTYPE"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_SUBTYPE</B></H2>\r
-<P>\r
-Enumerate the subtypes (this function does not translate a subtype into\r
-a string describing that subtype).\r
-A typical use case might be retrieving a string description of all subtypes\r
-so that a dialog box can be filled in.\r
-</P>\r
-<P>\r
-\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_SUBTYPE\r
-        data     : a pointer to an SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-Example 1: Retrieve all sybtypes supported by the WAV format.\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k &lt; count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE, &amp;format_info, sizeof (format_info)) ;\r
-            if (! sf_format_check (format_info.format | SF_FORMAT_WAV))\r
-               continue ;\r
-            printf ("%08x  %s\n", format_info.format, format_info.name) ;\r
-            } ;\r
-</PRE>\r
-<P>\r
-Example 2: Print a string describing the SF_FORMAT_PCM_16 subtype.\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k &lt; count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE, &amp;format_info, sizeof (format_info)) ;\r
-            if (format_info.format == SF_FORMAT_PCM_16)\r
-            {   printf ("%08x  %s\n", format_info.format, format_info.name) ;\r
-                break ;\r
-                } ;\r
-            } ;\r
-</PRE>\r
-<P>\r
-For a more comprehensive example, see the program list_formats.c in the examples/\r
-directory of the libsndfile source code distribution.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field will be one of the major format identifiers such as\r
-               SF_FORMAT_WAV or SF_FORMAT_AIFF.\r
-       <DD>The name field will contain a char* pointer to the name of the string; for instance\r
-               "WAV (Microsoft)" or "AIFF (Apple/SGI)".\r
-       <DD>The extension field will be a NULL pointer.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_ADD_PEAK_CHUNK"></A>\r
-<H2><BR><B>SFC_SET_ADD_PEAK_CHUNK</B></H2>\r
-<P>\r
-By default, WAV and AIFF files which contain floating point data (subtype SF_FORMAT_FLOAT\r
-or SF_FORMAT_DOUBLE) have a PEAK chunk.\r
-By using this command, the addition of a PEAK chunk can be turned on or off.\r
-</P>\r
-<P>\r
-Note : This call must be made before any data is written to the file.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_ADD_PEAK_CHUNK\r
-        data     : Not used (should be NULL)\r
-        datasize : TRUE or FALSE.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Turn on the PEAK chunk. */\r
-        sf_command (sndfile, SFC_SET_ADD_PEAK_CHUNK, NULL, SF_TRUE) ;\r
-\r
-        /* Turn off the PEAK chunk. */\r
-        sf_command (sndfile, SFC_SET_ADD_PEAK_CHUNK, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>Returns SF_TRUE if the peak chunk will be written after this call.\r
-<DD>Returns SF_FALSE if the peak chunk will not be written after this call.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_UPDATE_HEADER_NOW"></A>\r
-<H2><BR><B>SFC_UPDATE_HEADER_NOW</B></H2>\r
-<P>\r
-The header of an audio file is normally written by libsndfile when the file is\r
-closed using <B>sf_close()</B>.\r
-</P>\r
-<P>\r
-There are however situations where large files are being generated and it would\r
-be nice to have valid data in the header before the file is complete.\r
-Using this command will update the file header to reflect the amount of data written\r
-to the file so far.\r
-Other programs opening the file for read (before any more data is written) will\r
-then read a valid sound file header.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_UPDATE_HEADER_NOW\r
-        data     : Not used (should be NULL)\r
-        datasize : Not used.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Update the header now. */\r
-        sf_command (sndfile, SFC_UPDATE_HEADER_NOW, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_UPDATE_HEADER_AUTO"></A>\r
-<H2><BR><B>SFC_SET_UPDATE_HEADER_AUTO</B></H2>\r
-<P>\r
-Similar to SFC_UPDATE_HEADER_NOW but updates the header at the end of every call\r
-to the <B>sf_write*</B> functions.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_UPDATE_HEADER_NOW\r
-        data     : Not used (should be NULL)\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Turn on auto header update. */\r
-        sf_command (sndfile, SFC_SET_UPDATE_HEADER_AUTO, NULL, SF_TRUE) ;\r
-\r
-        /* Turn off auto header update. */\r
-        sf_command (sndfile, SFC_SET_UPDATE_HEADER_AUTO, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>TRUE if auto update header is now on; FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_FILE_TRUNCATE"></A>\r
-<H2><BR><B>SFC_FILE_TRUNCATE</B></H2>\r
-<P>\r
-Truncate a file that was opened for write or read/write.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_FILE_TRUNCATE\r
-        data     : A pointer to an sf_count_t.\r
-        datasize : sizeof (sf_count_t)\r
-</PRE>\r
-\r
-<P>\r
-Truncate the file to the number of frames specified by the sf_count_t pointed\r
-to by data.\r
-After this command, both the read and the write pointer will be\r
-at the new end of the file.\r
-This command will fail (returning non-zero) if the requested truncate position\r
-is beyond the end of the file.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Truncate the file to a length of 20 frames. */\r
-        sf_count_t  frames = 20 ;\r
-        sf_command (sndfile, SFC_FILE_TRUNCATE, &amp;frames, sizeof (frames)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero on sucess, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_RAW_START_OFFSET"></A>\r
-<H2><BR><B>SFC_SET_RAW_START_OFFSET</B></H2>\r
-<P>\r
-Change the data start offset for files opened up as SF_FORMAT_RAW.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_RAW_START_OFFSET\r
-        data     : A pointer to an sf_count_t.\r
-        datasize : sizeof (sf_count_t)\r
-</PRE>\r
-\r
-<P>\r
-For a file opened as format SF_FORMAT_RAW, set the data offset to the value\r
-given by data.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Reset the data offset to 5 bytes from the start of the file. */\r
-        sf_count_t  offset = 5 ;\r
-        sf_command (sndfile, SFC_SET_RAW_START_OFFSET, &amp;offset, sizeof (offset)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_CLIPPING"></A>\r
-<H2><BR><B>SFC_SET_CLIPPING</B></H2>\r
-<P>\r
-Turn on/off automatic clipping when doing floating point to integer conversion.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_CLIPPING\r
-        data     : NULL\r
-        datasize : SF_TRUE or SF_FALSE.\r
-</PRE>\r
-\r
-<P>\r
-Turn on (datasize == SF_TRUE) or off (datasize == SF_FALSE) clipping.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_CLIPPING, NULL, SF_TRUE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Clipping mode (SF_TRUE or SF_FALSE).\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_CLIPPING"></A>\r
-<H2><BR><B>SFC_GET_CLIPPING</B></H2>\r
-<P>\r
-Turn on/off automatic clipping when doing floating point to integer conversion.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_CLIPPING\r
-        data     : NULL\r
-        datasize : 0\r
-</PRE>\r
-\r
-<P>\r
-Retrieve the current cliiping setting.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_GET_CLIPPING, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Clipping mode (SF_TRUE or SF_FALSE).\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_EMBED_FILE_INFO"></A>\r
-<H2><BR><B>SFC_GET_EMBED_FILE_INFO</B></H2>\r
-<P>\r
-Get the file offset and file length of a file enbedded within another\r
-larger file.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_CLIPPING\r
-        data     : a pointer to an  SF_EMBED_FILE_INFO struct\r
-        datasize : sizeof (SF_EMBED_FILE_INFO)\r
-</PRE>\r
-<P>\r
-The SF_EMBED_FILE_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   sf_count_t offset ;\r
-            sf_count_t length ;\r
-        } SF_EMBED_FILE_INFO ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the offset field of the SF_EMBED_FILE_INFO struct will be\r
-               the offsets in bytes from the start of the outer file to the start of\r
-               the audio file.\r
-       <DD>The value of the offset field of the SF_EMBED_FILE_INFO struct will be\r
-               the length in bytes of the embedded file.\r
-</DL>\r
-\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_WAVEX_GET_AMBISONIC"></A>\r
-<H2><BR><B>SFC_WAVEX_GET_AMBISONIC</B></H2>\r
-<P>\r
-Test if the current file has the GUID of a WAVEX file for any of the Ambisonic\r
-formats.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_WAVEX_GET_AMBISONIC\r
-        data     : NULL\r
-        datasize : 0\r
-</PRE>\r
-<P>\r
-       The Ambisonic WAVEX formats are defined here :\r
-               <A HREF="http://dream.cs.bath.ac.uk/researchdev/wave-ex/bformat.html">\r
-                       http://dream.cs.bath.ac.uk/researchdev/wave-ex/bformat.html</A>.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>SF_AMBISONIC_NONE or SF_AMBISONIC_B_FORMAT or zero if the file format\r
-               does not support ambisonic formats.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_WAVEX_SET_AMBISONIC"></A>\r
-<H2><BR><B>SFC_WAVEX_SET_AMBISONIC</B></H2>\r
-<P>\r
-Set the GUID of a new WAVEX file to indicate an Ambisonics format.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_WAVEX_SET_AMBISONIC\r
-        data     : NULL\r
-        datasize : SF_AMBISONIC_NONE or SF_AMBISONIC_B_FORMAT\r
-</PRE>\r
-<P>\r
-Turn on (SF_AMBISONIC_B_FORMAT) or off (SF_AMBISONIC_NONE) encoding.\r
-This command is currently only supported for files with SF_FORMAT_WAVEX format.\r
-</P>\r
-<P>\r
-       The Ambisonic WAVEX formats are defined here :\r
-               <A HREF="http://dream.cs.bath.ac.uk/researchdev/wave-ex/bformat.html">\r
-                       http://dream.cs.bath.ac.uk/researchdev/wave-ex/bformat.html</A>.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Return the ambisonic value that has just been set or zero if the file\r
-               format does not support ambisonic encoding.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_VBR_ENCODING_QUALITY"></A>\r
-<H2><BR><B>SFC_SET_VBR_ENCODING_QUALITY</B></H2>\r
-<P>\r
-Set the the Variable Bit Rate encoding quality.\r
-The encoding quality value should be between 0.0 (lowest quality) and 1.0\r
-(highest quality).\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_VBR_ENCODING_QUALITY\r
-        data     : A pointer to a double value\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-The command must be sent before any audio data is written to the file.\r
-</P>\r
-<P>\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_RAW_NEEDS_ENDSWAP"></A>\r
-<H2><BR><B>SFC_RAW_NEEDS_ENDSWAP</B></H2>\r
-<P>\r
-Determine if raw data read using\r
-       <a href="api.html#raw">\r
-       sf_read_raw</a>\r
-needs to be end swapped on the host CPU.\r
-</P>\r
-<P>\r
-For instance, will return SF_TRUE on when reading WAV containing\r
-SF_FORMAT_PCM_16 data on a big endian machine and SF_FALSE on a little endian\r
-machine.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_RAW_NEEDS_ENDSWAP\r
-        data     : NULL\r
-        datasize : 0\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>SF_TRUE or SF_FALSE\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_BROADCAST_INFO"></A>\r
-<H2><BR><B>SFC_GET_BROADCAST_INFO</B></H2>\r
-<P>\r
-Retrieve the Broadcast Extension Chunk from WAV (and related) files.\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_BROADCAST_INFO\r
-        data     : a pointer to an SF_BROADCAST_INFO struct\r
-        datasize : sizeof (SF_BROADCAST_INFO)\r
-</PRE>\r
-<P>\r
-The SF_BROADCAST_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-    typedef struct\r
-    {   char            description [256] ;\r
-        char            originator [32] ;\r
-        char            originator_reference [32] ;\r
-        char            origination_date [10] ;\r
-        char            origination_time [8] ;\r
-        unsigned int    time_reference_low ;\r
-        unsigned int    time_reference_high ;\r
-        short           version ;\r
-        char            umid [64] ;\r
-        char            reserved [190] ;\r
-        unsigned int    coding_history_size ;\r
-        char            coding_history [256] ;\r
-    } SF_BROADCAST_INFO ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>SF_TRUE if the file contained a Broadcast Extension chunk or SF_FALSE\r
-       otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_BROADCAST_INFO"></A>\r
-<H2><BR><B>SFC_SET_BROADCAST_INFO</B></H2>\r
-<P>\r
-Set the Broadcast Extension Chunk for WAV (and related) files.\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_BROADCAST_INFO\r
-        data     : a pointer to an SF_BROADCAST_INFO struct\r
-        datasize : sizeof (SF_BROADCAST_INFO)\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>SF_TRUE if setting the Broadcast Extension chunk was successful and SF_FALSE\r
-       otherwise.\r
-</DL>\r
-<!-- ========================================================================= -->\r
-\r
-<A NAME="SFC_GET_LOOP_INFO"></A>\r
-<H2><BR><B>SFC_GET_LOOP_INFO</B></H2>\r
-<P>\r
-Retrieve loop information for file including time signature, length in\r
-beats and original MIDI base note\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-         sndfile  : A valid SNDFILE* pointer\r
-         cmd      : SFC_GET_LOOP_INFO\r
-         data     : a pointer to an SF_LOOP_INFO struct\r
-         datasize : sizeof (SF_LOOP_INFO)\r
-</PRE>\r
-<P>\r
-The SF_BROADCAST_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   short    time_sig_num ;   /* any positive integer    > 0  */\r
-            short    time_sig_den ;   /* any positive power of 2 > 0  */\r
-            int        loop_mode ;    /* see SF_LOOP enum             */\r
-\r
-            int        num_beats ;    /* this is NOT the amount of quarter notes !!!*/\r
-                                      /* a full bar of 4/4 is 4 beats */\r
-                                      /* a full bar of 7/8 is 7 beats */\r
-\r
-            float    bpm ;            /* suggestion, as it can be calculated using other fields:*/\r
-                                      /* file's lenght, file's sampleRate and our time_sig_den*/\r
-                                      /* -> bpms are always the amount of _quarter notes_ per minute */\r
-\r
-            int    root_key ;         /* MIDI note, or -1 for None */\r
-            int future [6] ;\r
-        } SF_LOOP_INFO ;\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-         SF_LOOP_INFO loop;\r
-         sf_command (sndfile, SFC_GET_LOOP_INFO, &amp;loop, sizeof (loop)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>SF_TRUE if the file header contains loop information for the file.\r
-    SF_FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-\r
-<A NAME="SFC_GET_INSTRUMENT"></A>\r
-<H2><BR><B>SFC_GET_INSTRUMENT</B></H2>\r
-<P>\r
-Retrieve instrument information from file including MIDI base note,\r
-keyboard mapping and looping informations(start/stop and mode).\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-         sndfile  : A valid SNDFILE* pointer\r
-         cmd      : SFC_GET_INSTRUMENT\r
-         data     : a pointer to an SF_INSTRUMENT struct\r
-         datasize : sizeof (SF_INSTRUMENT)\r
-</PRE>\r
-\r
-<P>\r
-The SF_INSTRUMENT struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        enum\r
-        {    /*\r
-            **    The loop mode field in SF_INSTRUMENT will be one of the following.\r
-            */\r
-            SF_LOOP_NONE = 800,\r
-            SF_LOOP_FORWARD,\r
-            SF_LOOP_BACKWARD,\r
-            SF_LOOP_ALTERNATING\r
-        } ;\r
-\r
-        typedef struct\r
-        {   int gain ;\r
-            char basenote, detune ;\r
-            char velocity_lo, velocity_hi ;\r
-            char key_lo, key_hi ;\r
-            int loop_count ;\r
-\r
-            struct\r
-            {   int mode ;\r
-                unsigned int start ;\r
-                unsigned int end ;\r
-                unsigned int count ;\r
-            } loops [16] ; /* make variable in a sensible way */\r
-        } SF_INSTRUMENT ;\r
-</PRE>\r
-\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-         SF_INSTRUMENT inst ;\r
-         sf_command (sndfile, SFC_GET_INSTRUMENT, &amp;inst, sizeof (inst)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <dd>SF_TRUE if the file header contains instrument information for the\r
-    file. SF_FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-\r
-<A NAME="SFC_SET_INSTRUMENT"></A>\r
-<H2><BR><B>SFC_SET_INSTRUMENT</B></H2>\r
-<P>\r
-Set the instrument information for the file.\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-         sndfile  : A valid SNDFILE* pointer\r
-         cmd      : SFC_GET_INSTRUMENT\r
-         data     : a pointer to an SF_INSTRUMENT struct\r
-         datasize : sizeof (SF_INSTRUMENT)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-         SF_INSTRUMENT inst ;\r
-         sf_command (sndfile, SFC_SET_INSTRUMENT, &amp;inst, sizeof (inst)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <dd>SF_TRUE if the file header contains instrument information for the\r
-    file. SF_FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-\r
-<A NAME="SFC_SET_VBR_ENCODING_QUALITY"></A>\r
-<H2><BR><B>SFC_SET_VBR_ENCODING_QUALITY</B></H2>\r
-<P>\r
-Set the Variable Bite Rate encoding quality.\r
-Currenly only implemented fro Ogg/Vorbis files.\r
-</P>\r
-<p>\r
-Parameters:\r
-</p>\r
-<PRE>\r
-         sndfile  : A valid SNDFILE* pointer\r
-         cmd      : SFC_SET_VBR_ENCODING_QUALITY\r
-         data     : a pointer to double specifing VBR quality\r
-         datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-         double quality = 0.5 ;\r
-         sf_command (sndfile, SFC_SET_VBR_ENCODING_QUALITY, &amp;quality, sizeof (double)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <dd>SF_TRUE if VBR encoding quality was set.\r
-    SF_FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-\r
-<HR>\r
-<P>\r
-       The libsndfile home page is here :\r
-               <A HREF="http://www.mega-nerd.com/libsndfile/">\r
-                       http://www.mega-nerd.com/libsndfile/</A>.\r
-<BR>\r
-Version : 1.0.25\r
-</P>\r
-\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/dither.html b/fdmdv2/libsndfile/doc/dither.html
deleted file mode 100644 (file)
index 486a33f..0000000
+++ /dev/null
@@ -1,1017 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile : the sf_command function.\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <!-- Another version at the bottom of the page.  -->\r
-       <META NAME="Description" CONTENT="The libsndfile API.">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<H1><B>sf_command</B></H1>\r
-<PRE>\r
-\r
-        int    sf_command (SNDFILE *sndfile, int cmd, void *data, int datasize) ;\r
-</PRE>\r
-<P>\r
-       This function allows the caller to retrieve information from or change aspects of the \r
-       library behaviour. \r
-       Examples include retrieving a string containing the library version or changing the \r
-       scaling applied to floating point sample data during read and write.\r
-       Most of these operations are performed on a per-file basis.\r
-</P>\r
-<P>\r
-       The cmd parameter is a integer identifier which is defined in &lt;sndfile.h&gt;.\r
-       All of the valid command identifiers have names begining with "SFC_".\r
-       Data is passed to and returned from the library by use of a void pointer. \r
-       The library will not read or write more than datasize bytes from the void pointer. \r
-       For some calls no data is required in which case data should be NULL and datasize \r
-       may be used for some other purpose.\r
-</P>\r
-<P>\r
-       The available commands are as follows:\r
-</P>\r
-\r
-<CENTER>\r
-<TABLE BORDER="0" WIDTH="90%" CELLPADDING="4">\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_LIB_VERSION">SFC_GET_LIB_VERSION</A></TD>\r
-       <TD>Retrieve the version of the library.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_LOG_INFO">SFC_GET_LOG_INFO</A></TD>\r
-       <TD>Retrieve the internal per-file operation log.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_SIGNAL_MAX">SFC_CALC_SIGNAL_MAX</A></TD>\r
-       <TD>Retrieve the measured maximum signal value.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_NORM_SIGNAL_MAX">SFC_CALC_NORM_SIGNAL_MAX</A></TD>\r
-       <TD>Retrieve the measured normalised maximum signal value.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_MAX_ALL_CHANNELS">SFC_CALC_MAX_ALL_CHANNELS</A></TD>\r
-       <TD>Calculate peaks for all channels.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_CALC_NORM_MAX_ALL_CHANNELS">SFC_CALC_NORM_MAX_ALL_CHANNELS</A></TD>\r
-       <TD>Calculate normalised peaks for all channels.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_NORM_FLOAT">SFC_SET_NORM_FLOAT</A></TD>\r
-       <TD>Modify the normalisation behaviour of the floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>   \r
-       <TD><A HREF="#SFC_SET_NORM_DOUBLE">SFC_SET_NORM_DOUBLE</A></TD>\r
-       <TD>Modify the normalisation behaviour of the double precision floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_NORM_FLOAT">SFC_GET_NORM_FLOAT</A></TD>\r
-       <TD>Retrieve the current normalisation behaviour of the floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>   \r
-       <TD><A HREF="#SFC_GET_NORM_DOUBLE">SFC_GET_NORM_DOUBLE</A></TD>\r
-       <TD>Retrieve the current normalisation behaviour of the double precision floating point reading and writing functions.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_SIMPLE_FORMAT_COUNT">SFC_GET_SIMPLE_FORMAT_COUNT</A></TD>\r
-       <TD>Retrieve the number of simple formats supported by libsndfile.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_SIMPLE_FORMAT">SFC_GET_SIMPLE_FORMAT</A></TD>\r
-       <TD>Retrieve information about a simple format.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_INFO">SFC_GET_FORMAT_INFO</A></TD>\r
-       <TD>Retrieve information about a major or subtype format.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_MAJOR_COUNT">SFC_GET_FORMAT_MAJOR_COUNT</A></TD>\r
-       <TD>Retrieve the number of major formats.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_MAJOR">SFC_GET_FORMAT_MAJOR</A></TD>\r
-       <TD>Retrieve information about a major format type.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_SUBTYPE_COUNT">SFC_GET_FORMAT_SUBTYPE_COUNT</A></TD>\r
-       <TD>Retrieve the number of subformats.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_GET_FORMAT_SUBTYPE">SFC_GET_FORMAT_SUBTYPE</A></TD>\r
-       <TD>Retrieve information about a subformat.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_ADD_PEAK_CHUNK">SFC_SET_ADD_PEAK_CHUNK</A></TD>\r
-       <TD>Switch the code for adding the PEAK chunk to WAV and AIFF files on or off.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_UPDATE_HEADER_NOW">SFC_UPDATE_HEADER_NOW</A></TD>\r
-       <TD>Used when a file is open for write, this command will update the file\r
-               header to reflect the data written so far.</TD>\r
-</TR>\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_UPDATE_HEADER_AUTO">SFC_SET_UPDATE_HEADER_AUTO</A></TD>\r
-       <TD>Used when a file is open for write, this command will cause the file header\r
-               to be updated after each write to the file.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_FILE_TRUNCATE">SFC_FILE_TRUNCATE</A></TD>\r
-       <TD>Truncate a file open for write or for read/write.</TD>\r
-</TR>\r
-\r
-<TR>\r
-       <TD><A HREF="#SFC_SET_RAW_START_OFFSET">SFC_SET_RAW_START_OFFSET</A></TD>\r
-       <TD>Change the data start offset for files opened up as SF_FORMAT_RAW.</TD>\r
-</TR>\r
-\r
-\r
-\r
-<!--\r
-<TR>\r
-       <TD><A HREF="#add-dither">add dither</A></TD>\r
-       <TD>Add dither to output on write.</TD>\r
-</TR>\r
--->\r
-</TABLE>       \r
-</CENTER>\r
-\r
-<BR><BR>\r
-\r
-<HR>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_LIB_VERSION"></A>\r
-<H2><BR><B>SFC_GET_LIB_VERSION</B></H2>\r
-<P>\r
-Retrieve the version of the library as a string.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : Not used\r
-        cmd      : SFC_GET_LIB_VERSION\r
-        data     : A pointer to a char buffer\r
-        datasize : The size of the the buffer\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        char  buffer [128] ;\r
-        sf_command (NULL, SFC_GET_LIB_VERSION, buffer, sizeof (buffer)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>This call will return the length of the retrieved version string.\r
-</DL>\r
-<DL>\r
-<DT>Notes:</DT>\r
-<DD>\r
-The string returned in the buffer passed to this function will not overflow\r
-the buffer and will always be null terminated .\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_LOG_INFO"></A>\r
-<H2><BR><B>SFC_GET_LOG_INFO</B></H2>\r
-<P>\r
-Retrieve the log buffer generated when opening a file as a string. This log\r
-buffer can often contain a good reason for why libsndfile failed to open a\r
-particular file.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_LOG_INFO\r
-        data     : A pointer to a char buffer\r
-        datasize : The size of the the buffer\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        char  buffer [2048] ;\r
-        sf_command (sndfile, SFC_GET_LOG_INFO, buffer, sizeof (buffer)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>This call will return the length of the retrieved version string.\r
-</DL>\r
-<DL>\r
-<DT>Notes:</DT>\r
-<DD>\r
-The string returned in the buffer passed to this function will not overflow\r
-the buffer and will always be null terminated .\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_SIGNAL_MAX"></A>\r
-<H2><BR><B>SFC_CALC_SIGNAL_MAX</B></H2>\r
-<P>\r
-Retrieve the measured maximum signal value. This involves reading through\r
-the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_SIGNAL_MAX\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   max_val ;\r
-        sf_command (sndfile, SFC_CALC_SIGNAL_MAX, &amp;max_val, sizeof (max_val)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_NORM_SIGNAL_MAX"></A>\r
-<H2><BR><B>SFC_CALC_NORM_SIGNAL_MAX</B></H2>\r
-<P>\r
-Retrieve the measured normailised maximum signal value. This involves reading \r
-through the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_NORM_SIGNAL_MAX\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   max_val ;\r
-        sf_command (sndfile, SFC_CALC_NORM_SIGNAL_MAX, &amp;max_val, sizeof (max_val)) ;\r
-</PRE>\r
-\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD><DD>Zero on success, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_MAX_ALL_CHANNELS"></A>\r
-<H2><BR><B>SFC_CALC_MAX_ALL_CHANNELS</B></H2>\r
-<P>\r
-Calculate peaks for all channels. This involves reading through\r
-the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_MAX_ALL_CHANNELS\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double) * number_of_channels\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   peaks [number_of_channels] ;\r
-        sf_command (sndfile, SFC_CALC_MAX_ALL_CHANNELS, peaks, sizeof (peaks)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero if peaks have been calculated successfully and non-zero otherwise.\r
-</DL>\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_CALC_NORM_MAX_ALL_CHANNELS"></A>\r
-<H2><BR><B>SFC_CALC_NORM_MAX_ALL_CHANNELS</B></H2>\r
-<P>\r
-Calculate normalised peaks for all channels. This involves reading through\r
-the whole file which can be slow on large files.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_CALC_NORM_MAX_ALL_CHANNELS\r
-        data     : A pointer to a double\r
-        datasize : sizeof (double) * number_of_channels\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        double   peaks [number_of_channels] ;\r
-        sf_command (sndfile, SFC_CALC_NORM_MAX_ALL_CHANNELS, peaks, sizeof (peaks)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero if peaks have been calculated successfully and non-zero otherwise.\r
-</DL>\r
-\r
-\r
-\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<!--\r
-<A NAME="read-text"></A>\r
-<H2><BR><B>Read text</B></H2>\r
-<P>\r
-Many sound file formats contain allow the inclusion of a text string describing the nature\r
-of the file. If a file contains such a string, this functions will return it to the caller.\r
-</P>\r
-<P>\r
-It should be noted that the way the string is added to the file is file format dependant\r
-but that any string added with <A HREF="#write-text">write text</A> will be returned by \r
-<A HREF="#read-text">read text</A>.\r
-</P>\r
-<P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : The text string "read text".\r
-        data     : A pointer to a char buffer.\r
-        datasize : The size of the the buffer.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-       char  buffer [128] ;\r
-        sf_command (sndfile, "read text", buffer, sizeof (buffer)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>If a text string is found, this call will return the length of the retrieved text \r
-       string.\r
-       <DD>If no text string is found, zero will be returned and the first element in the \r
-       buffer will be set to the null character.\r
-<DT>Notes:</DT>\r
-<DD>The string returned in the buffer passed to this function will not overflow\r
-       the buffer and will be correctly null terminated .\r
-</DL>\r
-\r
-<A NAME="write-text"></A>\r
-<H2><BR><B>Write text</B></H2>\r
-<P>\r
-Add a text string to a file. The text string added can be retrieved when the file is\r
-read using <A HREF="#read-text">read text</A>. \r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : The text string "write text".\r
-        data     : A pointer to the string to be added.\r
-        datasize : Not used.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-       char  text = "The sound of one hand clapping." ;\r
-        sf_command (sndfile, "write text", text, strlen (text)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>If the current file format allows the addition of text strings, the string will \r
-               be added and the length of the string will be returned. \r
-       <DD>If the file format does not allow the addition of text strings zero will be returned.\r
-       <DD>If this function is called after the file is openned but before \r
-</DL>\r
--->\r
-\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_NORM_FLOAT"></A>\r
-<H2><BR><B>SFC_SET_NORM_FLOAT</B></H2>\r
-<P>\r
-This command only affects data read from or written to using the floating point functions:\r
-</P>\r
-<PRE>\r
-       size_t    <A HREF="api.html#read">sf_read_float</A>    (SNDFILE *sndfile, float *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#readf">sf_readf_float</A>   (SNDFILE *sndfile, float *ptr, size_t frames) ;\r
-\r
-       size_t    <A HREF="api.html#write">sf_write_float</A>   (SNDFILE *sndfile, float *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#writef">sf_writef_float</A>  (SNDFILE *sndfile, float *ptr, size_t frames) ;\r
-</PRE>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_NORM_FLOAT\r
-        data     : NULL\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-For read operations setting normalisation to SF_TRUE means that the data from all \r
-subsequent reads will be be normalised to the range [-1.0, 1.0].\r
-</P>\r
-<P>\r
-For write operations, setting normalisation to SF_TRUE means than all data supplied\r
-to the float write functions should be in the range [-1.0, 1.0] and will be scaled\r
-for the file format as necessary.\r
-</P>\r
-<P>\r
-For both cases, setting normalisation to SF_FALSE means that no scaling will take place.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_NORM_FLOAT, NULL, SF_TRUE) ;\r
-\r
-        sf_command (sndfile, SFC_SET_NORM_FLOAT, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns 1 on success or 0 for failure.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_NORM_DOUBLE"></A>\r
-<H2><BR><B>SFC_SET_NORM_DOUBLE</B></H2>\r
-<P>\r
-This command only affects data read from or written to using the double precision \r
-floating point functions:\r
-</P>\r
-<PRE>\r
-       size_t    <A HREF="api.html#read">sf_read_double</A>    (SNDFILE *sndfile, double *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#readf">sf_readf_double</A>   (SNDFILE *sndfile, double *ptr, size_t frames) ;\r
-\r
-       size_t    <A HREF="api.html#write">sf_write_double</A>   (SNDFILE *sndfile, double *ptr, size_t items) ;\r
-       size_t    <A HREF="api.html#writef">sf_writef_double</A>  (SNDFILE *sndfile, double *ptr, size_t frames) ;\r
-</PRE>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_NORM_DOUBLE\r
-        data     : NULL\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-For read operations setting normalisation to SF_TRUE means that the data \r
-from all subsequent reads will be be normalised to the range [-1.0, 1.0].\r
-</P>\r
-<P>\r
-For write operations, setting normalisation to SF_TRUE means than all data supplied\r
-to the double write functions should be in the range [-1.0, 1.0] and will be scaled\r
-for the file format as necessary.\r
-</P>\r
-<P>\r
-For both cases, setting normalisation to SF_FALSE means that no scaling will take place.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        sf_command (sndfile, SFC_SET_NORM_DOUBLE, NULL, SF_TRUE) ;\r
-\r
-        sf_command (sndfile, SFC_SET_NORM_DOUBLE, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns 1 on success or 0 for failure.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_NORM_FLOAT"></A>\r
-<H2><BR><B>SFC_GET_NORM_FLOAT</B></H2>\r
-<P>\r
-Retrieve the current float normalisation mode.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_NORM_FLOAT\r
-        data     : NULL\r
-        datasize : anything\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        normalisation = sf_command (sndfile, SFC_GET_NORM_FLOAT, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns TRUE if normaisation is on and FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_NORM_DOUBLE"></A>\r
-<H2><BR><B>SFC_GET_NORM_DOUBLE</B></H2>\r
-<P>\r
-Retrieve the current float normalisation mode.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_GET_NORM_DOUBLE\r
-        data     : NULL\r
-        datasize : anything\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        normalisation = sf_command (sndfile, SFC_GET_NORM_DOUBLE, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>Returns TRUE if normalisation is on and FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_SIMPLE_FORMAT_COUNT"></A>\r
-<H2><BR><B>SFC_GET_SIMPLE_FORMAT_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of simple formats supported by libsndfile.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_SIMPLE_FORMAT_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int  count ;\r
-        sf_command (sndfile, SFC_GET_SIMPLE_FORMAT_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_SIMPLE_FORMAT"></A>\r
-<H2><BR><B>SFC_GET_SIMPLE_FORMAT</B></H2>\r
-<P>\r
-Retrieve information about a simple format.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_SIMPLE_FORMAT\r
-        data     : a pointer to an  SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-The SF_FORMAT_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   int         format ;\r
-            const char  *name ;\r
-            const char  *extension ;\r
-        } SF_FORMAT_INFO ;\r
-</PRE>\r
-<P>\r
-When sf_command() is called with SF_GET_SIMPLE_FORMAT, the value of the format \r
-field should be the format number (ie 0 <= format <= count value obtained using\r
-SF_GET_SIMPLE_FORMAT_COUNT).\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_SIMPLE_FORMAT_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k < count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_SIMPLE_FORMAT, &amp;format_info, sizeof (format_info)) ;\r
-            printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-            } ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field of the SF_FORMAT_INFO struct will be an value which \r
-               can be placed in the format field of an SF_INFO struct when a file is to be opened \r
-               for write.\r
-       <DD>The name field will contain a char* pointer to the name of the string ie "WAV (Microsoft 16 bit PCM)".\r
-       <DD>The extention field will contain the most commonly used file extension for that file type.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_INFO"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_INFO</B></H2>\r
-<P>\r
-Retrieve information about a major or subtype format.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_INFO\r
-        data     : a pointer to an SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-The SF_FORMAT_INFO struct is defined in &lt;sndfile.h&gt; as:\r
-</P>\r
-<PRE>\r
-        typedef struct\r
-        {   int         format ;\r
-            const char  *name ;\r
-            const char  *extension ;\r
-        } SF_FORMAT_INFO ;\r
-</PRE>\r
-<P>\r
-When sf_command() is called with SF_GET_FORMAT_INFO, the format field is \r
-examined and if (format & SF_FORMAT_TYPEMASK) is a valid format then the struct\r
-is filled in with information about the given major type.\r
-If (format & SF_FORMAT_TYPEMASK) is FALSE and (format & SF_FORMAT_SUBMASK) is a\r
-valid subtype format then the struct is filled in with information about the given \r
-subtype.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-\r
-        format_info.format = SF_FORMAT_WAV ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_INFO, &amp;format_info, sizeof (format_info)) ;\r
-        printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-\r
-        format_info.format = SF_FORMAT_ULAW ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_INFO, &amp;format_info, sizeof (format_info)) ;\r
-        printf ("%08x  %s\n", format_info.format, format_info.name) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-</DL>\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_MAJOR_COUNT"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_MAJOR_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of major formats.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_MAJOR_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int  count ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_MAJOR_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_MAJOR"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_MAJOR</B></H2>\r
-<P>\r
-Retrieve information about a major format type.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_MAJOR\r
-        data     : a pointer to an  SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_FORMAT_MAJOR_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        for (k = 0 ; k < count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_FORMAT_MAJOR, &amp;format_info, sizeof (format_info)) ;\r
-            printf ("%08x  %s %s\n", format_info.format, format_info.name, format_info.extension) ;\r
-            } ;\r
-</PRE>\r
-<P>\r
-For a more comprehensive example, see the program list_formats.c in the examples/\r
-directory of the libsndfile source code distribution.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field will one of the major format identifiers suc as SF_FORMAT_WAV\r
-               SF_FORMAT_AIFF.\r
-       <DD>The name field will contain a char* pointer to the name of the string ie "WAV (Microsoft)".\r
-       <DD>The extention field will contain the most commonly used file extension for that file type.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_SUBTYPE_COUNT"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_SUBTYPE_COUNT</B></H2>\r
-<P>\r
-Retrieve the number of subformats.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_SUBTYPE_COUNT\r
-        data     : a pointer to an int\r
-        datasize : sizeof (int)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        int   count ;\r
-        sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE_COUNT, &amp;count, sizeof (int)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_GET_FORMAT_SUBTYPE"></A>\r
-<H2><BR><B>SFC_GET_FORMAT_SUBTYPE</B></H2>\r
-<P>\r
-Retrieve information about a subformat.\r
-</P>\r
-<P>\r
-Parameters:\r
-</P>\r
-<PRE>\r
-        sndfile  : Not used.\r
-        cmd      : SFC_GET_FORMAT_SUBTYPE\r
-        data     : a pointer to an SF_FORMAT_INFO struct\r
-        datasize : sizeof (SF_FORMAT_INFO)\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        SF_FORMAT_INFO format_info ;\r
-        int             k, count ;\r
-\r
-        sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE_COUNT, &amp;count, sizeof (int)) ;\r
-\r
-        /* Retrieve all the subtypes supported by the WAV format. */\r
-        for (k = 0 ; k < count ; k++)\r
-        {   format_info.format = k ;\r
-            sf_command (sndfile, SFC_GET_FORMAT_SUBTYPE, &amp;format_info, sizeof (format_info)) ;\r
-            if (! sf_format_check (format.info | SF_FORMAT_WAV))\r
-               continue ;\r
-            printf ("%08x  %s\n", format_info.format, format_info.name) ;\r
-            } ;\r
-</PRE>\r
-<P>\r
-For a more comprehensive example, see the program list_formats.c in the examples/\r
-directory of the libsndfile source code distribution.\r
-</P>\r
-<DL>\r
-<DT>Return value: </DT>\r
-       <DD>0 on success and non-zero otherwise.\r
-       <DD>The value of the format field will one of the major format identifiers such as SF_FORMAT_WAV\r
-               SF_FORMAT_AIFF.\r
-       <DD>The name field will contain a char* pointer to the name of the string; for instance \r
-               "WAV (Microsoft)" or "AIFF (Apple/SGI)".\r
-       <DD>The extention field will be a NULL pointer.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_ADD_PEAK_CHUNK"></A>\r
-<H2><BR><B>SFC_SET_ADD_PEAK_CHUNK</B></H2>\r
-<P>\r
-By default, WAV and AIFF files which contain floating point data (subtype SF_FORMAT_FLOAT \r
-or SF_FORMAT_DOUBLE) have a PEAK chunk.\r
-By using this command, the addition of a PEAK chunk can be turned on or off.\r
-</P>\r
-<P>\r
-Note : This call must be made before any data is written to the file.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_ADD_PEAK_CHUNK\r
-        data     : Not used (should be NULL)\r
-        datasize : TRUE or FALSE.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Turn on the PEAK chunk. */\r
-        sf_command (sndfile, SFC_SET_ADD_PEAK_CHUNK, NULL, SF_TRUE) ;\r
-\r
-        /* Turn off the PEAK chunk. */\r
-        sf_command (sndfile, SFC_SET_ADD_PEAK_CHUNK, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>Returns SF_TRUE if the peak chunk will be written after this call.\r
-<DD>Returns SF_FALSE if the peak chunk will not be written after this call.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_UPDATE_HEADER_NOW"></A>\r
-<H2><BR><B>SFC_UPDATE_HEADER_NOW</B></H2>\r
-<P>\r
-The header of an audio file is normally written by libsndfile when the file is\r
-closed using <B>sf_close()</B>.\r
-</P>\r
-<P>\r
-There are however situations where large files are being generated and it would\r
-be nice to have valid data in the header before the file is complete.\r
-Using this command will update the file header to reflect the amount of data written \r
-to the file so far.\r
-Other programs opening the file for read (before any more data is written) will \r
-then read a valid sound file header.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_UPDATE_HEADER_NOW\r
-        data     : Not used (should be NULL)\r
-        datasize : Not used.\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Update the header now. */\r
-        sf_command (sndfile, SFC_UPDATE_HEADER_NOW, NULL, 0) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>0\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_UPDATE_HEADER_AUTO"></A>\r
-<H2><BR><B>SFC_SET_UPDATE_HEADER_AUTO</B></H2>\r
-<P>\r
-Similar to SFC_UPDATE_HEADER_NOW but updates the header at the end of every call\r
-to the <B>sf_write*</B> functions.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_UPDATE_HEADER_NOW\r
-        data     : Not used (should be NULL)\r
-        datasize : SF_TRUE or SF_FALSE\r
-</PRE>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Turn on auto header update. */\r
-        sf_command (sndfile, SFC_SET_UPDATE_HEADER_AUTO, NULL, SF_TRUE) ;\r
-\r
-        /* Turn off auto header update. */\r
-        sf_command (sndfile, SFC_SET_UPDATE_HEADER_AUTO, NULL, SF_FALSE) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-<DD>TRUE if auto update header is now on; FALSE otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_FILE_TRUNCATE"></A>\r
-<H2><BR><B>SFC_FILE_TRUNCATE</B></H2>\r
-<P>\r
-Truncate a file open for write or for read/write.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_FILE_TRUNCATE\r
-        data     : A pointer to an sf_count_t.\r
-        datasize : sizeof (sf_count_t)\r
-</PRE>\r
-\r
-<P>\r
-Truncate the file to the number of frames specified by the sf_count_t pointed\r
-to by data.\r
-After this command, both the read and the write pointer will be\r
-at the new end of the file.\r
-This command will fail (returning non-zero) if the requested truncate position \r
-is beyond the end of the file.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Truncate the file to a length of 20 frames. */\r
-        sf_count_t  frames = 20 ;\r
-        sf_command (sndfile, SFC_FILE_TRUNCATE, &amp;frames, sizeof (frames)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero on sucess, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-<A NAME="SFC_SET_RAW_START_OFFSET"></A>\r
-<H2><BR><B>SFC_SET_RAW_START_OFFSET</B></H2>\r
-<P>\r
-Change the data start offset for files opened up as SF_FORMAT_RAW.\r
-</P>\r
-<P>\r
-Parameters:\r
-<PRE>\r
-        sndfile  : A valid SNDFILE* pointer\r
-        cmd      : SFC_SET_RAW_START_OFFSET\r
-        data     : A pointer to an sf_count_t.\r
-        datasize : sizeof (sf_count_t)\r
-</PRE>\r
-\r
-<P>\r
-For a file opened as format SF_FORMAT_RAW, set the data offset to the value\r
-given by data.\r
-</P>\r
-<P>\r
-Example:\r
-</P>\r
-<PRE>\r
-        /* Reset the data offset to 5 bytes from the start of the file. */\r
-        sf_count_t  offset = 5 ;\r
-        sf_command (sndfile, SFC_SET_RAW_START_OFFSET, &amp;offset, sizeof (offset)) ;\r
-</PRE>\r
-<DL>\r
-<DT>Return value:</DT>\r
-       <DD>Zero on sucess, non-zero otherwise.\r
-</DL>\r
-\r
-<!-- ========================================================================= -->\r
-\r
-<HR>\r
-<P>\r
-       The libsndfile home page is here : \r
-               <A HREF="http://www.mega-nerd.com/libsndfile/">\r
-                       http://www.mega-nerd.com/libsndfile/</A>.\r
-<BR>\r
-Version : 1.0.25\r
-</P>\r
-\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/embedded_files.html b/fdmdv2/libsndfile/doc/embedded_files.html
deleted file mode 100644 (file)
index 9070911..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile : Embedded Sound Files.\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <META NAME="Description" CONTENT="The libsndfile API.">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-<!-- pepper -->\r
-<BODY>\r
-<!-- pepper -->\r
-<H1><B>Embedded Sound Files.</B></H1>\r
-\r
-<P>\r
-By using the open SNDFILE with a file descriptor function:\r
-</P>\r
-<!-- pepper -->\r
-<PRE>\r
-      SNDFILE*  sf_open_fd (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;\r
-</PRE>\r
-<!-- pepper -->\r
-<P>\r
-it is possible to open sound files embedded within larger files.\r
-There are however a couple of caveats:\r
-<P>\r
-<!-- pepper -->\r
-<UL>\r
-       <LI> Read/Write mode (SFM_RDWR) is not supported.\r
-       <LI> Writing of embedded files is only supported at the end of the file.\r
-       <LI> Reading of embedded files is only supported at file offsets greater\r
-                       than zero.\r
-       <LI> Not all file formats are supported (currently only WAV, AIFF and AU).\r
-</UL>\r
-<!-- pepper -->\r
-<P>\r
-The test program <B>multi_file_test.c</B> in the <B>tests/</B> directory of the\r
-source code tarball shows how this functionality is used to read and write\r
-embedded files.\r
-</P>\r
-<!-- pepper -->\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/index.html b/fdmdv2/libsndfile/doc/index.html
deleted file mode 100644 (file)
index 25a86f5..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-    <META NAME="Version"     CONTENT="libsndfile-1.0.25">\r
-       <META NAME="Description" CONTENT="The libsndfile Home Page">\r
-       <META NAME="Keywords"    CONTENT="WAV AIFF AU SVX PAF NIST W64 libsndfile sound audio dsp Linux">\r
-       <META NAME="ROBOTS"      CONTENT="NOFOLLOW">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-<!-- pepper -->\r
-<CENTER>\r
-       <IMG SRC="libsndfile.jpg" HEIGHT=98 WIDTH=367 ALT="libsndfile.jpg">\r
-</CENTER>\r
-<!-- pepper -->\r
-<CENTER>\r
-               <A HREF="#History">History</A> -+-\r
-               <A HREF="#Features">Features</A> -+-\r
-               <A HREF="#Similar">Similar or Related Projects</A> -+-\r
-               <A HREF="NEWS">News</A>\r
-               <br>\r
-               <A HREF="development.html">Development</A> -+-\r
-               <A HREF="api.html">Programming Interface</A> -+-\r
-               <A HREF="bugs.html">Bug Reporting</A> -+-\r
-               <A HREF="#Download">Download</A>\r
-               <br>\r
-               <A HREF="FAQ.html">FAQ</A> -+-\r
-               <A HREF="lists.html">Mailing Lists</A> -+-\r
-               <A HREF="ChangeLog">Change Log</A> -+-\r
-               <A HREF="#Licensing">Licensing Information</A> -+-\r
-               <A HREF="#SeeAlso">See Also</A>\r
-</CENTER>\r
-\r
-<br><br>\r
-<P>\r
-       Libsndfile is a C library for reading and writing files containing sampled sound\r
-       (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard\r
-       library interface. It is released in source code format under the\r
-               <A HREF="http://www.gnu.org/copyleft/lesser.html">Gnu Lesser General Public License</A>.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-       The library was written to compile and run on a Linux system but should compile\r
-       and run on just about any Unix (including MacOS X).\r
-       There are also pre-compiled binaries available for 32 and 64 bit windows.\r
-</P>\r
-<P>\r
-       It was designed to handle both little-endian (such as WAV) and big-endian\r
-       (such as AIFF) data, and to compile and run correctly on little-endian (such as Intel\r
-       and DEC/Compaq Alpha) processor systems as well as big-endian processor systems such\r
-       as Motorola 68k, Power PC, MIPS and Sparc.\r
-       Hopefully the design of the library will also make it easy to extend for reading and\r
-       writing new sound file formats.\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-    It has been compiled and tested (at one time or another) on the following systems:\r
-</P>\r
-<!-- pepper -->\r
-<UL>\r
-       <LI>Every platform supported by Debian GNU/Linux including x86_64-linux-gnu,\r
-               i486-linux-gnu, powerpc-linux-gnu, sparc-linux-gnu, alpha-linux-gnu,\r
-               mips-linux-gnu and armel-linux-gnu.</LI>\r
-       <LI>arm-linux-androideab (Android phones OS)</LI>\r
-       <LI>powerpc-apple-darwin7.0 (Mac OS X 10.3)</LI>\r
-       <LI>sparc-sun-solaris2.8 (using gcc)</LI>\r
-       <LI>mips-sgi-irix5.3 (using gcc)</LI>\r
-       <LI>QNX 6.0</LI>\r
-       <LI>i386-unknown-openbsd2.9</LI>\r
-</UL>\r
-<!-- pepper -->\r
-<P>\r
-       At the moment, each new release is being tested on i386 Linux, x86_64 Linux,\r
-       PowerPC Linux, Win32 and Win64.\r
-</P>\r
-<!-- pepper -->\r
-\r
-<A NAME="Capabilities"></A>\r
-<A NAME="Features"></A>\r
-<H1><B>Features</B></H1>\r
-<P>\r
-       libsndfile has the following main features :\r
-</P>\r
-       <UL>\r
-       <lI> Ability to read and write a large number of file formats.\r
-       <LI> A simple, elegant and easy to use Applications Programming Interface.\r
-       <LI> Usable on Unix, Win32, MacOS and others.\r
-       <LI> On the fly format conversion, including endian-ness swapping, type conversion\r
-                       and bitwidth scaling.\r
-       <LI> Optional normalisation when reading floating point data from files containing\r
-                       integer data.\r
-       <LI> Ability to open files in read/write mode.\r
-       <LI> The ability to write the file header without closing the file (only on files\r
-                       open for write or read/write).\r
-       <LI> Ability to query the library about all supported formats and retrieve text\r
-                       strings describing each format.\r
-       </UL>\r
-<P>\r
-       libsndfile has a comprehensive test suite so that each release is as bug free\r
-       as possible.\r
-       When new bugs are found, new tests are added to the test suite to ensure that\r
-       these bugs don't creep back into the code.\r
-       When new features are added, tests are added to the test suite to make sure that\r
-       these features continue to work correctly even when they are old features.\r
- </P>\r
-<P>\r
-       The following table lists the file formats and encodings that libsndfile can read\r
-       and write.\r
-       The file formats are arranged across the top and encodings along the left\r
-       edge.\r
-</P>\r
-<br>\r
-\r
-<TABLE BORDER="1" cellpadding="2">\r
-       <TR><TD>&nbsp;</TD>\r
-       <TD ALIGN="center">Micro- soft<br>WAV</TD>\r
-       <TD ALIGN="center">SGI / Apple<br>AIFF / AIFC</TD>\r
-       <TD ALIGN="center">Sun / DEC /<br>NeXT<br>AU / SND</TD>\r
-       <TD ALIGN="center">Header- less<br>RAW</TD>\r
-       <TD ALIGN="center">Paris Audio<br>File<br>PAF</TD>\r
-       <TD ALIGN="center">Commo- dore<br>Amiga<br>IFF / SVX</TD>\r
-       <TD ALIGN="center">Sphere<br>Nist<br>WAV</TD>\r
-       <TD ALIGN="center">IRCAM<br>SF</TD>\r
-       <TD ALIGN="center">Creative<br>VOC</TD>\r
-       <TD ALIGN="center">Sound forge<br>W64</TD>\r
-       <TD ALIGN="center"><A HREF="octave.html">GNU Octave 2.0</A><br>MAT4</TD>\r
-       <TD ALIGN="center"><A HREF="octave.html">GNU Octave 2.1</A><br>MAT5</TD>\r
-       <TD ALIGN="center">Portable Voice Format<br>PVF</TD>\r
-       <TD ALIGN="center">Fasttracker 2<br>XI</TD>\r
-       <TD ALIGN="center">HMM Tool Kit<br>HTK</TD>\r
-       <TD ALIGN="center">Apple<br>CAF</TD>\r
-       <TD ALIGN="center">Sound<br>Designer II<br>SD2</TD>\r
-       <TD ALIGN="center">Free Lossless Audio Codec<br>FLAC</TD>\r
-       </TR>\r
-<TR><TD>Unsigned 8 bit PCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>Signed 8 bit PCM</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-</TR>\r
-\r
-<TR><TD>Signed 16 bit PCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-</TR>\r
-\r
-<TR><TD>Signed 24 bit PCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-</TR>\r
-\r
-<TR><TD>Signed 32 bit PCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>32 bit float</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>64 bit double</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>u-law encoding</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-<TR><TD>A-law encoding</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>IMA ADPCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>MS ADPCM</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>GSM 6.10</TD>\r
-       <TD ALIGN="center">R/W</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>G721 ADPCM 32kbps</TD>\r
-       <TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>G723 ADPCM 24kbps</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>G723 ADPCM 40kbps</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>12 bit DWVW</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>16 bit DWVW</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-\r
-<TR><TD>24 bit DWVW</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-<TR><TD>Ok Dialogic ADPCM</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-<TR><TD>8 bit DPCM</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-<TR><TD>16 bit DPCM</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-       <TD>&nbsp;</TD><TD ALIGN="center">R/W</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>\r
-</TR>\r
-</TABLE>\r
-\r
-<p>\r
-From version 1.0.18, libsndfile also reads and writes\r
-       <a href="http://flac.sourceforge.net/">FLAC</a>\r
-and\r
-       <a href="http://www.vorbis.com/">Ogg/Vorbis</a>.\r
-</p>\r
-\r
-<!-- pepper -->\r
-\r
-<P>\r
-       Some of the file formats I am also interested in adding are:\r
-</P>\r
-       <UL>\r
-       <LI> Kurzweil K2000 sampler files.\r
-       <LI> Ogg Speex.\r
-       </UL>\r
-<P>\r
-       I have decided that I will not be adding support for MPEG Layer 3 (commonly\r
-       known as MP3) due to the patent issues surrounding this file format.\r
-       See\r
-               <a href="http://www.mega-nerd.com/libsndfile/FAQ.html#Q020">\r
-               the FAQ</a>\r
-       for more.\r
-</P>\r
-<P>\r
-       Other file formats may also be added on request.\r
-</P>\r
-\r
-<!-- pepper -->\r
-\r
-<A NAME="History"></A>\r
-<H1><B>History</B></H1>\r
-<P>\r
-       My first attempt at reading and writing WAV files was in 1990 or so under Windows\r
-       3.1.\r
-       I started using Linux in early 1995 and contributed some code to the\r
-               <A HREF="http://www.vaxxine.com/ve3wwg/gnuwave.html">wavplay</A>\r
-       program.\r
-       That contributed code would eventually mutate into this library.\r
-       As one of my interests is Digital Signal Processing (DSP) I decided that as well as\r
-       reading data from an audio file in the native format (typically 16 bit short integers)\r
-       it would also be useful to be able to have the library do the conversion to floating\r
-       point numbers for DSP applications.\r
-       It then dawned on me that whatever file format (anything from 8 bit unsigned chars,\r
-       to 32 bit floating point numbers) the library should be able to convert the data to\r
-       whatever format the library user wishes to use it in.\r
-       For example, in a sound playback program, the library caller typically wants the sound\r
-       data in 16 bit short integers to dump into a sound card even though the data in the\r
-       file may be 32 bit floating point numbers (ie Microsoft's WAVE_FORMAT_IEEE_FLOAT\r
-       format).\r
-       Another example would be someone doing speech recognition research who has recorded\r
-       some speech as a 16 bit WAV file but wants to process it as double precision floating\r
-       point numbers.\r
-</P>\r
-<P>\r
-    Here is the release history for libsndfile :\r
-</P>\r
-       <UL>\r
-       <LI>Version 0.0.8 (Feb 15 1999) First official release.\r
-       <LI>Version 0.0.28 (Apr 26 2002) Final release of version 0 of libsndfile.\r
-       <LI>Version 1.0.0rc1 (Jun 24 2002) Release candidate 1 of version 1 of libsndfile.\r
-       <LI>Version 1.0.0rc6 (Aug 14 2002) MacOS 9 fixes.\r
-       <LI>Version 1.0.0 (Aug 16 2002) First 1.0.X release.\r
-       <LI>Version 1.0.1 (Sep 14 2002) Added MAT4 and MAT5 file formats.\r
-       <LI>Version 1.0.2 (Nov 24 2002) Added VOX ADPCM format.\r
-       <LI>Version 1.0.3 (Dec 09 2002) Fixes for Linux on ia64 CPUs.\r
-       <LI>Version 1.0.4 (Feb 02 2003) New file formats and functionality.\r
-       <LI>Version 1.0.5 (May 03 2003) One new file format and new functionality.\r
-       <LI>Version 1.0.6 (Feb 08 2004) Large file fix for Linux/Solaris, new functionality\r
-               and Win32 improvements.\r
-       <LI>Version 1.0.7 (Feb 24 2004) Fix build problems on MacOS X and fix ia64/MIPS etc\r
-               clip mode detction.\r
-       <LI>Version 1.0.8 (Mar 14 2004) Minor bug fixes.\r
-       <LI>Version 1.0.9 (Mar 30 2004) Add AVR format. Improve handling of some WAV files.\r
-       <LI>Version 1.0.10 (Jun 15 2004) Minor bug fixes. Fix support for Win32 MinGW compiler.\r
-       <LI>Version 1.0.11 (Nov 15 2004) Add SD2 file support, reading of loop data in WAV and AIFF.\r
-                               Minor bug fixes.\r
-       <LI>Version 1.0.12 (Sep 30 2005) Add FLAC and CAF file support, virtual I/O interface.\r
-                               Minor bug fixes and cleanups.\r
-       <LI>Version 1.0.13 (Jan 21 2006) Add read/write of instrument chunks. Minor bug fixes.\r
-       <LI>Version 1.0.14 (Feb 19 2006) Minor bug fixes. Start shipping windows binary/source ZIP.\r
-       <LI>Version 1.0.15 (Mar 16 2006) Minor bug fixes.\r
-       <LI>Version 1.0.16 (Apr 30 2006) Add support for RIFX. Other minor feature enhancements and\r
-                               bug fixes.\r
-       <LI>Version 1.0.17 (Aug 31 2006) Add C++ wrapper sndfile.hh. Minor bug fixes and cleanups.\r
-       <LI>Version 1.0.18 (Feb 07 2009) Add Ogg/Vorbis suppport, remove captive libraries, many\r
-                               new features and bug fixes. Generate Win32 and Win64 pre-compiled binaries.\r
-       <LI>Version 1.0.19 (Mar 02 2009) Fix for CVE-2009-0186. Huge number of minor fixes as a\r
-                               result of static analysis.\r
-       <LI>Version 1.0.20 (May 14 2009) Fix for potential heap overflow.\r
-       <LI>Version 1.0.21 (December 13 2009) Bunch of minor bug fixes.\r
-       <LI>Version 1.0.22 (October 04 2010) Bunch of minor bug fixes.\r
-       <LI>Version 1.0.23 (October 10 2010) Minor bug fixes.\r
-       <LI>Version 1.0.24 (March 23 2011) Minor bug fixes.\r
-       <LI>Version 1.0.25 (July 13 2011) Fix for Secunia Advisory SA45125. Minor bug fixes and\r
-                               improvements.\r
-       </UL>\r
-\r
-<A NAME="Similar"></A>\r
-<H1><B>Similar or Related Projects</B></H1>\r
-\r
-       <UL>\r
-       <LI><A HREF="http://sox.sourceforge.net/">SoX</A> is a program for\r
-               converting between sound file formats.\r
-       <LI><A HREF="http://www.hitsquad.com/smm/programs/WavPlay/">Wavplay</A> started out\r
-               as a minimal WAV file player under Linux and has mutated into Gnuwave, a client/server\r
-               application for more general multimedia and games sound playback.\r
-       <LI><A HREF="http://www.68k.org/~michael/audiofile/">Audiofile</A> (libaudiofile) is\r
-               a library similar to libsndfile but with a different programming interface. The\r
-               author Michael Pruett has set out to clone (and fix some bugs in) the libaudiofile\r
-               library which ships with SGI's IRIX OS.\r
-       <LI><A HREF="ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz">sndlib.tar.gz</A> is\r
-               another library written by Bill Schottstaedt of CCRMA.\r
-       </UL>\r
-\r
-<A NAME="Licensing"></A>\r
-<H1><B>Licensing</B></H1>\r
-<P>\r
-       libsndfile is released under the terms of the GNU Lesser General Public License,\r
-       of which there are two versions;\r
-               <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">version 2.1</a>\r
-       and\r
-               <a href="http://www.gnu.org/copyleft/lesser.html">version 3</a>.\r
-       To maximise the compatibility of libsndfile, the user may choose to use libsndfile\r
-       under either of the above two licenses.\r
-       You can also read a simple explanation of the ideas behind the GPL and the LGPL\r
-               <A HREF="http://www.gnu.org/copyleft/copyleft.html">here</A>.\r
-</P>\r
-<P>\r
-       You can use libsndfile with\r
-               <A HREF="http://www.gnu.org/">Free Software</A>,\r
-               <A HREF="http://www.opensource.org/">Open Source</A>,\r
-       proprietary, shareware or other closed source applications as long as libsndfile\r
-       is used as a dynamically loaded library and you abide by a small number of other\r
-       conditions (read the LGPL for more info).\r
-       With applications released under the GNU GPL you can also use libsndfile statically\r
-       linked to your application.\r
-</P>\r
-<P>\r
-       I would like to see libsndfile used as widely as possible but I would prefer it\r
-       if you released software that uses libsndfile as\r
-               <A HREF="http://www.gnu.org/">Free Software</A>\r
-       or\r
-               <A HREF="http://www.opensource.org/">Open Source</A>.\r
-       However, if you put in a great deal of effort building a significant application\r
-       which simply uses libsndfile for file I/O, then I have no problem with you releasing\r
-       that as closed source and charging as much money as you want for it as long as you\r
-       abide by <A HREF="http://www.gnu.org/copyleft/lesser.html">the license</A>.\r
-</P>\r
-\r
-<A NAME="Download"></A>\r
-<H1><B>Download</B></H1>\r
-<P>\r
-       Here is the latest version. It is available in the following formats:\r
-</P>\r
-       <UL>\r
-       <LI>Source code as a .tar.gz :\r
-                       <A HREF="files/libsndfile-1.0.25.tar.gz">libsndfile-1.0.25.tar.gz</A>\r
-                       and\r
-                       <A HREF="files/libsndfile-1.0.25.tar.gz.asc">(GPG signature)</A>.\r
-       <LI>Win32 installer:\r
-                       <A HREF="files/libsndfile-1.0.25-w32-setup.exe">\r
-                       libsndfile-1.0.25-w32-setup.exe</A> (thoroughly tested under\r
-                       <a href="http://www.winehq.com/">Wine</a> and Windows XP).\r
-       <LI>Win64 installer:\r
-                       <A HREF="files/libsndfile-1.0.25-w64-setup.exe">\r
-                       libsndfile-1.0.25-w64-setup.exe</A>\r
-                       (thoroughly tested on 64 bit Windows 7).\r
-       </UL>\r
-\r
-<P>\r
-The Win32 installer was compiled for Windows XP but should also work on Windows\r
-2000, Vista and Windows 7.\r
-</p>\r
-\r
-<P>\r
-       Pre-release versions of libsndfile are available\r
-                       <A HREF="http://www.mega-nerd.com/tmp/">here</A>\r
-       and are announced on the\r
-                       <A HREF="lists.html">libsndfile-devel</A>\r
-       mailing list.\r
-</P>\r
-\r
-<A NAME="SeeAlso"></A>\r
-<H1><B>See Also</B></H1>\r
-       <UL>\r
-       <LI><a href="http://www.mega-nerd.com/libsndfile/tools/">\r
-               sndfile-tools</a>\r
-               : a small collection of programs which use libsndfile.\r
-       </UL>\r
-\r
-<br><br>\r
-\r
-<hr>\r
-\r
-<P>\r
-       The latest version of this document can be found\r
-               <A HREF="http://www.mega-nerd.com/libsndfile/">here</A>.\r
-</P>\r
-<P>\r
-Author :\r
-       <A HREF="m&#97;ilt&#111;:&#101;rikd&#64;&#109;eg&#97;-&#110;erd.&#99;om">\r
-               Erik de Castro Lopo</a>\r
-</P>\r
-<!-- pepper -->\r
-<P>\r
-This page has been accessed\r
-       <IMG SRC=\r
-       "/cgi-bin/Count.cgi?ft=6|frgb=55;55;55|tr=0|trgb=0;0;0|wxh=15;20|md=7|dd=B|st=1|sh=1|df=libsndfile.dat"\r
-       HEIGHT=30 WIDTH=100 ALT="counter.gif">\r
-times.\r
-</P>\r
-<!-- pepper -->\r
-<!-- pepper -->\r
-<!-- pepper -->\r
-\r
-<br><br>\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/libsndfile.css b/fdmdv2/libsndfile/doc/libsndfile.css
deleted file mode 100644 (file)
index d0524aa..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-body {\r
-       background : black ;\r
-       color : white ;\r
-       font-family : arial, helvetica, sans-serif ;\r
-       line-height: 1.5 ;\r
-}\r
-td {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       background : black ;\r
-       color : white ;\r
-}\r
-center {\r
-       font-family : arial, helvetica, sans-serif ;\r
-}\r
-p {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-.indent_block {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       text-align : left ;\r
-       margin-left : 10% ;\r
-       margin-right : 10% ;\r
-}\r
-br {\r
-       font-family : arial, helvetica, sans-serif ;\r
-}\r
-form {\r
-       font-family : arial, helvetica, sans-serif ;\r
-}\r
-ul {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 6% ;\r
-}\r
-ol {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 6% ;\r
-}\r
-dl {\r
-       font-family : arial, helvetica, sans-serif ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-h1 {\r
-       font-size : xx-large ;\r
-       background : black ;\r
-       color : #5050FF ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-h2 {\r
-       font-size : x-large ;\r
-       background : black ;\r
-       color : #5050FF ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-h3 {\r
-       font-size : large ;\r
-       background : black ;\r
-       color : #5050FF ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-h4 {\r
-       font-size : medium ;\r
-       background : black ;\r
-       color : #5050FF ;\r
-       text-align : left ;\r
-       margin-left : 3% ;\r
-       margin-right : 3% ;\r
-}\r
-pre {\r
-       font-family : courier, monospace ;\r
-       font-size : medium ;\r
-}\r
-a:link { color : #9090FF ; }\r
-a:visited { color : #5050FF ; }\r
-a:active { color : #FF00FF ; }\r
-a:hover { background-color : #202080 ; }\r
diff --git a/fdmdv2/libsndfile/doc/libsndfile.jpg b/fdmdv2/libsndfile/doc/libsndfile.jpg
deleted file mode 100644 (file)
index 7855b92..0000000
Binary files a/fdmdv2/libsndfile/doc/libsndfile.jpg and /dev/null differ
diff --git a/fdmdv2/libsndfile/doc/lists.html b/fdmdv2/libsndfile/doc/lists.html
deleted file mode 100644 (file)
index afe13d8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       libsndfile Mailing Lists\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-<!-- pepper -->\r
-<H1><BR>libsndfile Mailing Lists</H1>\r
-<!-- pepper -->\r
-<P>\r
-There are three mailing lists for libsndfile:\r
-</P>\r
-<!-- pepper -->\r
-<UL>\r
-       <LI> <B>libsndfile-announce&#64;mega-nerd.com</B>&nbsp;&nbsp;<!-- pepper -->\r
-               <A HREF="m&#97;ilt&#111;:li&#98;sndfile-announce-request@meg&#97;-nerd.&#99;om?subject=subscribe">Subscribe</A>\r
-               <BR>\r
-               A list which will announce each new release of libsndfile.\r
-               Noone can post to this list except the author.\r
-               <BR><BR>\r
-\r
-       <LI> <B>libsndfile-devel&#64;mega-nerd.com</B>&nbsp;&nbsp;<!-- pepper -->\r
-               <A HREF="m&#97;ilt&#111;:li&#98;sndfile-devel-request@meg&#97;-nerd.&#99;om?subject=subscribe">Subscribe</A>\r
-               <BR>\r
-               A list for discussing bugs, porting issues and feature requests.\r
-               Posting is restricted to subscribers.\r
-               <BR><BR>\r
-\r
-       <LI> <B>libsndfile-users&#64;mega-nerd.com</B>&nbsp;&nbsp;<!-- pepper -->\r
-               <A HREF="m&#97;ilt&#111;:li&#98;sndfile-users-request@meg&#97;-nerd.&#99;om?subject=subscribe">Subscribe</A>\r
-               <BR>\r
-               A list for discussing the use of libsndfile in other programs.\r
-               Posting is restricted to subscribers.\r
-               <!-- pepper -->\r
-               <BR><BR>\r
-</UL>\r
-<!-- pepper -->\r
-<P>\r
-The libsndfile-devel and libsndfile-users list will automatically receive a \r
-copy of all emails to the libsndfile-announce list.\r
-</P>\r
-<BR>\r
-<!-- pepper -->\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/doc/sndfile_info.html b/fdmdv2/libsndfile/doc/sndfile_info.html
deleted file mode 100644 (file)
index 2e746a8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<HTML>\r
-\r
-<HEAD>\r
-       <TITLE>\r
-       sndfile-info\r
-       </TITLE>\r
-       <META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">\r
-       <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all">\r
-       <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">\r
-</HEAD>\r
-\r
-<BODY>\r
-\r
-<P>\r
-       Here is an example of the output from the <B>sndfile-info</B> program distributed with \r
-       libsndfile.\r
-</P>\r
-\r
-<P>\r
-       This file was opened and parsed correctly but had been truncated so that the values\r
-       in the <B>FORM</B> and <B>SSND</B> chunks were incorrect.\r
-</P>\r
-<PRE>\r
-        <B>erikd@hendrix ></B> examples/sndfile-info truncated.aiff \r
-        truncated.aiff\r
-        size : 200000\r
-        FORM : 307474 (should be 199992)\r
-         AIFF\r
-         COMM : 18\r
-          Sample Rate : 16000\r
-          Samples     : 76857\r
-          Channels    : 2\r
-          Sample Size : 16\r
-         SSND : 307436 (should be 199946)\r
-          Offset     : 0\r
-          Block Size : 0\r
-        \r
-        --------------------------------\r
-        Sample Rate : 16000\r
-        Frames      : 76857\r
-        Channels    : 2\r
-        Bit Width   : 16\r
-        Format      : 0x00020001\r
-        Sections    : 1\r
-        Seekable    : TRUE\r
-        Signal Max  : 32766\r
-               \r
-</PRE>\r
-\r
-\r
-</BODY>\r
-</HTML>\r
diff --git a/fdmdv2/libsndfile/include/sndfile.h b/fdmdv2/libsndfile/include/sndfile.h
deleted file mode 100644 (file)
index 60a839d..0000000
+++ /dev/null
@@ -1,666 +0,0 @@
-/*\r
-** Copyright (C) 1999-2011Erik de Castro Lopo <erikd@mega-nerd.com>\r
-**\r
-** This program is free software; you can redistribute it and/or modify\r
-** it under the terms of the GNU Lesser General Public License as published by\r
-** the Free Software Foundation; either version 2.1 of the License, or\r
-** (at your option) any later version.\r
-**\r
-** This program is distributed in the hope that it will be useful,\r
-** but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-** GNU Lesser General Public License for more details.\r
-**\r
-** You should have received a copy of the GNU Lesser General Public License\r
-** along with this program; if not, write to the Free Software\r
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\r
-*/\r
-\r
-/*\r
-** sndfile.h -- system-wide definitions\r
-**\r
-** API documentation is in the doc/ directory of the source code tarball\r
-** and at http://www.mega-nerd.com/libsndfile/api.html.\r
-*/\r
-\r
-#ifndef SNDFILE_H\r
-#define SNDFILE_H\r
-\r
-/* This is the version 1.0.X header file. */\r
-#define        SNDFILE_1\r
-\r
-#include <stdio.h>\r
-#include <sys/types.h>\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-\r
-/* The following file types can be read and written.\r
-** A file type would consist of a major type (ie SF_FORMAT_WAV) bitwise\r
-** ORed with a minor type (ie SF_FORMAT_PCM). SF_FORMAT_TYPEMASK and\r
-** SF_FORMAT_SUBMASK can be used to separate the major and minor file\r
-** types.\r
-*/\r
-\r
-enum\r
-{      /* Major formats. */\r
-       SF_FORMAT_WAV                   = 0x010000,             /* Microsoft WAV format (little endian default). */\r
-       SF_FORMAT_AIFF                  = 0x020000,             /* Apple/SGI AIFF format (big endian). */\r
-       SF_FORMAT_AU                    = 0x030000,             /* Sun/NeXT AU format (big endian). */\r
-       SF_FORMAT_RAW                   = 0x040000,             /* RAW PCM data. */\r
-       SF_FORMAT_PAF                   = 0x050000,             /* Ensoniq PARIS file format. */\r
-       SF_FORMAT_SVX                   = 0x060000,             /* Amiga IFF / SVX8 / SV16 format. */\r
-       SF_FORMAT_NIST                  = 0x070000,             /* Sphere NIST format. */\r
-       SF_FORMAT_VOC                   = 0x080000,             /* VOC files. */\r
-       SF_FORMAT_IRCAM                 = 0x0A0000,             /* Berkeley/IRCAM/CARL */\r
-       SF_FORMAT_W64                   = 0x0B0000,             /* Sonic Foundry's 64 bit RIFF/WAV */\r
-       SF_FORMAT_MAT4                  = 0x0C0000,             /* Matlab (tm) V4.2 / GNU Octave 2.0 */\r
-       SF_FORMAT_MAT5                  = 0x0D0000,             /* Matlab (tm) V5.0 / GNU Octave 2.1 */\r
-       SF_FORMAT_PVF                   = 0x0E0000,             /* Portable Voice Format */\r
-       SF_FORMAT_XI                    = 0x0F0000,             /* Fasttracker 2 Extended Instrument */\r
-       SF_FORMAT_HTK                   = 0x100000,             /* HMM Tool Kit format */\r
-       SF_FORMAT_SDS                   = 0x110000,             /* Midi Sample Dump Standard */\r
-       SF_FORMAT_AVR                   = 0x120000,             /* Audio Visual Research */\r
-       SF_FORMAT_WAVEX                 = 0x130000,             /* MS WAVE with WAVEFORMATEX */\r
-       SF_FORMAT_SD2                   = 0x160000,             /* Sound Designer 2 */\r
-       SF_FORMAT_FLAC                  = 0x170000,             /* FLAC lossless file format */\r
-       SF_FORMAT_CAF                   = 0x180000,             /* Core Audio File format */\r
-       SF_FORMAT_WVE                   = 0x190000,             /* Psion WVE format */\r
-       SF_FORMAT_OGG                   = 0x200000,             /* Xiph OGG container */\r
-       SF_FORMAT_MPC2K                 = 0x210000,             /* Akai MPC 2000 sampler */\r
-       SF_FORMAT_RF64                  = 0x220000,             /* RF64 WAV file */\r
-\r
-       /* Subtypes from here on. */\r
-\r
-       SF_FORMAT_PCM_S8                = 0x0001,               /* Signed 8 bit data */\r
-       SF_FORMAT_PCM_16                = 0x0002,               /* Signed 16 bit data */\r
-       SF_FORMAT_PCM_24                = 0x0003,               /* Signed 24 bit data */\r
-       SF_FORMAT_PCM_32                = 0x0004,               /* Signed 32 bit data */\r
-\r
-       SF_FORMAT_PCM_U8                = 0x0005,               /* Unsigned 8 bit data (WAV and RAW only) */\r
-\r
-       SF_FORMAT_FLOAT                 = 0x0006,               /* 32 bit float data */\r
-       SF_FORMAT_DOUBLE                = 0x0007,               /* 64 bit float data */\r
-\r
-       SF_FORMAT_ULAW                  = 0x0010,               /* U-Law encoded. */\r
-       SF_FORMAT_ALAW                  = 0x0011,               /* A-Law encoded. */\r
-       SF_FORMAT_IMA_ADPCM             = 0x0012,               /* IMA ADPCM. */\r
-       SF_FORMAT_MS_ADPCM              = 0x0013,               /* Microsoft ADPCM. */\r
-\r
-       SF_FORMAT_GSM610                = 0x0020,               /* GSM 6.10 encoding. */\r
-       SF_FORMAT_VOX_ADPCM             = 0x0021,               /* OKI / Dialogix ADPCM */\r
-\r
-       SF_FORMAT_G721_32               = 0x0030,               /* 32kbs G721 ADPCM encoding. */\r
-       SF_FORMAT_G723_24               = 0x0031,               /* 24kbs G723 ADPCM encoding. */\r
-       SF_FORMAT_G723_40               = 0x0032,               /* 40kbs G723 ADPCM encoding. */\r
-\r
-       SF_FORMAT_DWVW_12               = 0x0040,               /* 12 bit Delta Width Variable Word encoding. */\r
-       SF_FORMAT_DWVW_16               = 0x0041,               /* 16 bit Delta Width Variable Word encoding. */\r
-       SF_FORMAT_DWVW_24               = 0x0042,               /* 24 bit Delta Width Variable Word encoding. */\r
-       SF_FORMAT_DWVW_N                = 0x0043,               /* N bit Delta Width Variable Word encoding. */\r
-\r
-       SF_FORMAT_DPCM_8                = 0x0050,               /* 8 bit differential PCM (XI only) */\r
-       SF_FORMAT_DPCM_16               = 0x0051,               /* 16 bit differential PCM (XI only) */\r
-\r
-       SF_FORMAT_VORBIS                = 0x0060,               /* Xiph Vorbis encoding. */\r
-\r
-       /* Endian-ness options. */\r
-\r
-       SF_ENDIAN_FILE                  = 0x00000000,   /* Default file endian-ness. */\r
-       SF_ENDIAN_LITTLE                = 0x10000000,   /* Force little endian-ness. */\r
-       SF_ENDIAN_BIG                   = 0x20000000,   /* Force big endian-ness. */\r
-       SF_ENDIAN_CPU                   = 0x30000000,   /* Force CPU endian-ness. */\r
-\r
-       SF_FORMAT_SUBMASK               = 0x0000FFFF,\r
-       SF_FORMAT_TYPEMASK              = 0x0FFF0000,\r
-       SF_FORMAT_ENDMASK               = 0x30000000\r
-} ;\r
-\r
-/*\r
-** The following are the valid command numbers for the sf_command()\r
-** interface.  The use of these commands is documented in the file\r
-** command.html in the doc directory of the source code distribution.\r
-*/\r
-\r
-enum\r
-{      SFC_GET_LIB_VERSION                             = 0x1000,\r
-       SFC_GET_LOG_INFO                                = 0x1001,\r
-       SFC_GET_CURRENT_SF_INFO                 = 0x1002,\r
-\r
-\r
-       SFC_GET_NORM_DOUBLE                             = 0x1010,\r
-       SFC_GET_NORM_FLOAT                              = 0x1011,\r
-       SFC_SET_NORM_DOUBLE                             = 0x1012,\r
-       SFC_SET_NORM_FLOAT                              = 0x1013,\r
-       SFC_SET_SCALE_FLOAT_INT_READ    = 0x1014,\r
-       SFC_SET_SCALE_INT_FLOAT_WRITE   = 0x1015,\r
-\r
-       SFC_GET_SIMPLE_FORMAT_COUNT             = 0x1020,\r
-       SFC_GET_SIMPLE_FORMAT                   = 0x1021,\r
-\r
-       SFC_GET_FORMAT_INFO                             = 0x1028,\r
-\r
-       SFC_GET_FORMAT_MAJOR_COUNT              = 0x1030,\r
-       SFC_GET_FORMAT_MAJOR                    = 0x1031,\r
-       SFC_GET_FORMAT_SUBTYPE_COUNT    = 0x1032,\r
-       SFC_GET_FORMAT_SUBTYPE                  = 0x1033,\r
-\r
-       SFC_CALC_SIGNAL_MAX                             = 0x1040,\r
-       SFC_CALC_NORM_SIGNAL_MAX                = 0x1041,\r
-       SFC_CALC_MAX_ALL_CHANNELS               = 0x1042,\r
-       SFC_CALC_NORM_MAX_ALL_CHANNELS  = 0x1043,\r
-       SFC_GET_SIGNAL_MAX                              = 0x1044,\r
-       SFC_GET_MAX_ALL_CHANNELS                = 0x1045,\r
-\r
-       SFC_SET_ADD_PEAK_CHUNK                  = 0x1050,\r
-       SFC_SET_ADD_HEADER_PAD_CHUNK    = 0x1051,\r
-\r
-       SFC_UPDATE_HEADER_NOW                   = 0x1060,\r
-       SFC_SET_UPDATE_HEADER_AUTO              = 0x1061,\r
-\r
-       SFC_FILE_TRUNCATE                               = 0x1080,\r
-\r
-       SFC_SET_RAW_START_OFFSET                = 0x1090,\r
-\r
-       SFC_SET_DITHER_ON_WRITE                 = 0x10A0,\r
-       SFC_SET_DITHER_ON_READ                  = 0x10A1,\r
-\r
-       SFC_GET_DITHER_INFO_COUNT               = 0x10A2,\r
-       SFC_GET_DITHER_INFO                             = 0x10A3,\r
-\r
-       SFC_GET_EMBED_FILE_INFO                 = 0x10B0,\r
-\r
-       SFC_SET_CLIPPING                                = 0x10C0,\r
-       SFC_GET_CLIPPING                                = 0x10C1,\r
-\r
-       SFC_GET_INSTRUMENT                              = 0x10D0,\r
-       SFC_SET_INSTRUMENT                              = 0x10D1,\r
-\r
-       SFC_GET_LOOP_INFO                               = 0x10E0,\r
-\r
-       SFC_GET_BROADCAST_INFO                  = 0x10F0,\r
-       SFC_SET_BROADCAST_INFO                  = 0x10F1,\r
-\r
-       SFC_GET_CHANNEL_MAP_INFO                = 0x1100,\r
-       SFC_SET_CHANNEL_MAP_INFO                = 0x1101,\r
-\r
-       SFC_RAW_DATA_NEEDS_ENDSWAP              = 0x1110,\r
-\r
-       /* Support for Wavex Ambisonics Format */\r
-       SFC_WAVEX_SET_AMBISONIC                 = 0x1200,\r
-       SFC_WAVEX_GET_AMBISONIC                 = 0x1201,\r
-\r
-       SFC_SET_VBR_ENCODING_QUALITY    = 0x1300,\r
-\r
-       /* Following commands for testing only. */\r
-       SFC_TEST_IEEE_FLOAT_REPLACE             = 0x6001,\r
-\r
-       /*\r
-       ** SFC_SET_ADD_* values are deprecated and will disappear at some\r
-       ** time in the future. They are guaranteed to be here up to and\r
-       ** including version 1.0.8 to avoid breakage of existng software.\r
-       ** They currently do nothing and will continue to do nothing.\r
-       */\r
-       SFC_SET_ADD_DITHER_ON_WRITE             = 0x1070,\r
-       SFC_SET_ADD_DITHER_ON_READ              = 0x1071\r
-} ;\r
-\r
-\r
-/*\r
-** String types that can be set and read from files. Not all file types\r
-** support this and even the file types which support one, may not support\r
-** all string types.\r
-*/\r
-\r
-enum\r
-{      SF_STR_TITLE                                    = 0x01,\r
-       SF_STR_COPYRIGHT                                = 0x02,\r
-       SF_STR_SOFTWARE                                 = 0x03,\r
-       SF_STR_ARTIST                                   = 0x04,\r
-       SF_STR_COMMENT                                  = 0x05,\r
-       SF_STR_DATE                                             = 0x06,\r
-       SF_STR_ALBUM                                    = 0x07,\r
-       SF_STR_LICENSE                                  = 0x08,\r
-       SF_STR_TRACKNUMBER                              = 0x09,\r
-       SF_STR_GENRE                                    = 0x10\r
-} ;\r
-\r
-/*\r
-** Use the following as the start and end index when doing metadata\r
-** transcoding.\r
-*/\r
-\r
-#define        SF_STR_FIRST    SF_STR_TITLE\r
-#define        SF_STR_LAST             SF_STR_GENRE\r
-\r
-enum\r
-{      /* True and false */\r
-       SF_FALSE        = 0,\r
-       SF_TRUE         = 1,\r
-\r
-       /* Modes for opening files. */\r
-       SFM_READ        = 0x10,\r
-       SFM_WRITE       = 0x20,\r
-       SFM_RDWR        = 0x30,\r
-\r
-       SF_AMBISONIC_NONE               = 0x40,\r
-       SF_AMBISONIC_B_FORMAT   = 0x41\r
-} ;\r
-\r
-/* Public error values. These are guaranteed to remain unchanged for the duration\r
-** of the library major version number.\r
-** There are also a large number of private error numbers which are internal to\r
-** the library which can change at any time.\r
-*/\r
-\r
-enum\r
-{      SF_ERR_NO_ERROR                         = 0,\r
-       SF_ERR_UNRECOGNISED_FORMAT      = 1,\r
-       SF_ERR_SYSTEM                           = 2,\r
-       SF_ERR_MALFORMED_FILE           = 3,\r
-       SF_ERR_UNSUPPORTED_ENCODING     = 4\r
-} ;\r
-\r
-\r
-/* Channel map values (used with SFC_SET/GET_CHANNEL_MAP).\r
-*/\r
-\r
-enum\r
-{      SF_CHANNEL_MAP_INVALID = 0,\r
-       SF_CHANNEL_MAP_MONO = 1,\r
-       SF_CHANNEL_MAP_LEFT,                                    /* Apple calls this 'Left' */\r
-       SF_CHANNEL_MAP_RIGHT,                                   /* Apple calls this 'Right' */\r
-       SF_CHANNEL_MAP_CENTER,                                  /* Apple calls this 'Center' */\r
-       SF_CHANNEL_MAP_FRONT_LEFT,\r
-       SF_CHANNEL_MAP_FRONT_RIGHT,\r
-       SF_CHANNEL_MAP_FRONT_CENTER,\r
-       SF_CHANNEL_MAP_REAR_CENTER,                             /* Apple calls this 'Center Surround', Msft calls this 'Back Center' */\r
-       SF_CHANNEL_MAP_REAR_LEFT,                               /* Apple calls this 'Left Surround', Msft calls this 'Back Left' */\r
-       SF_CHANNEL_MAP_REAR_RIGHT,                              /* Apple calls this 'Right Surround', Msft calls this 'Back Right' */\r
-       SF_CHANNEL_MAP_LFE,                                             /* Apple calls this 'LFEScreen', Msft calls this 'Low Frequency'  */\r
-       SF_CHANNEL_MAP_FRONT_LEFT_OF_CENTER,    /* Apple calls this 'Left Center' */\r
-       SF_CHANNEL_MAP_FRONT_RIGHT_OF_CENTER,   /* Apple calls this 'Right Center */\r
-       SF_CHANNEL_MAP_SIDE_LEFT,                               /* Apple calls this 'Left Surround Direct' */\r
-       SF_CHANNEL_MAP_SIDE_RIGHT,                              /* Apple calls this 'Right Surround Direct' */\r
-       SF_CHANNEL_MAP_TOP_CENTER,                              /* Apple calls this 'Top Center Surround' */\r
-       SF_CHANNEL_MAP_TOP_FRONT_LEFT,                  /* Apple calls this 'Vertical Height Left' */\r
-       SF_CHANNEL_MAP_TOP_FRONT_RIGHT,                 /* Apple calls this 'Vertical Height Right' */\r
-       SF_CHANNEL_MAP_TOP_FRONT_CENTER,                /* Apple calls this 'Vertical Height Center' */\r
-       SF_CHANNEL_MAP_TOP_REAR_LEFT,                   /* Apple and MS call this 'Top Back Left' */\r
-       SF_CHANNEL_MAP_TOP_REAR_RIGHT,                  /* Apple and MS call this 'Top Back Right' */\r
-       SF_CHANNEL_MAP_TOP_REAR_CENTER,                 /* Apple and MS call this 'Top Back Center' */\r
-\r
-       SF_CHANNEL_MAP_AMBISONIC_B_W,\r
-       SF_CHANNEL_MAP_AMBISONIC_B_X,\r
-       SF_CHANNEL_MAP_AMBISONIC_B_Y,\r
-       SF_CHANNEL_MAP_AMBISONIC_B_Z,\r
-\r
-       SF_CHANNEL_MAP_MAX\r
-} ;\r
-\r
-\r
-/* A SNDFILE* pointer can be passed around much like stdio.h's FILE* pointer. */\r
-\r
-typedef        struct SNDFILE_tag      SNDFILE ;\r
-\r
-/* The following typedef is system specific and is defined when libsndfile is\r
-** compiled. sf_count_t will be a 64 bit value when the underlying OS allows\r
-** 64 bit file offsets.\r
-** On windows, we need to allow the same header file to be compiler by both GCC\r
-** and the Microsoft compiler.\r
-*/\r
-\r
-#if (defined (_MSCVER) || defined (_MSC_VER))\r
-typedef __int64                sf_count_t ;\r
-#define SF_COUNT_MAX           0x7fffffffffffffffi64\r
-#else\r
-typedef __int64        sf_count_t ;\r
-#define SF_COUNT_MAX           0x7FFFFFFFFFFFFFFFLL\r
-#endif\r
-\r
-\r
-/* A pointer to a SF_INFO structure is passed to sf_open () and filled in.\r
-** On write, the SF_INFO structure is filled in by the user and passed into\r
-** sf_open ().\r
-*/\r
-\r
-struct SF_INFO\r
-{      sf_count_t      frames ;                /* Used to be called samples.  Changed to avoid confusion. */\r
-       int                     samplerate ;\r
-       int                     channels ;\r
-       int                     format ;\r
-       int                     sections ;\r
-       int                     seekable ;\r
-} ;\r
-\r
-typedef        struct SF_INFO SF_INFO ;\r
-\r
-/* The SF_FORMAT_INFO struct is used to retrieve information about the sound\r
-** file formats libsndfile supports using the sf_command () interface.\r
-**\r
-** Using this interface will allow applications to support new file formats\r
-** and encoding types when libsndfile is upgraded, without requiring\r
-** re-compilation of the application.\r
-**\r
-** Please consult the libsndfile documentation (particularly the information\r
-** on the sf_command () interface) for examples of its use.\r
-*/\r
-\r
-typedef struct\r
-{      int                     format ;\r
-       const char      *name ;\r
-       const char      *extension ;\r
-} SF_FORMAT_INFO ;\r
-\r
-/*\r
-** Enums and typedefs for adding dither on read and write.\r
-** See the html documentation for sf_command(), SFC_SET_DITHER_ON_WRITE\r
-** and SFC_SET_DITHER_ON_READ.\r
-*/\r
-\r
-enum\r
-{      SFD_DEFAULT_LEVEL       = 0,\r
-       SFD_CUSTOM_LEVEL        = 0x40000000,\r
-\r
-       SFD_NO_DITHER           = 500,\r
-       SFD_WHITE                       = 501,\r
-       SFD_TRIANGULAR_PDF      = 502\r
-} ;\r
-\r
-typedef struct\r
-{      int                     type ;\r
-       double          level ;\r
-       const char      *name ;\r
-} SF_DITHER_INFO ;\r
-\r
-/* Struct used to retrieve information about a file embedded within a\r
-** larger file. See SFC_GET_EMBED_FILE_INFO.\r
-*/\r
-\r
-typedef struct\r
-{      sf_count_t      offset ;\r
-       sf_count_t      length ;\r
-} SF_EMBED_FILE_INFO ;\r
-\r
-/*\r
-**     Structs used to retrieve music sample information from a file.\r
-*/\r
-\r
-enum\r
-{      /*\r
-       **      The loop mode field in SF_INSTRUMENT will be one of the following.\r
-       */\r
-       SF_LOOP_NONE = 800,\r
-       SF_LOOP_FORWARD,\r
-       SF_LOOP_BACKWARD,\r
-       SF_LOOP_ALTERNATING\r
-} ;\r
-\r
-typedef struct\r
-{      int gain ;\r
-       char basenote, detune ;\r
-       char velocity_lo, velocity_hi ;\r
-       char key_lo, key_hi ;\r
-       int loop_count ;\r
-\r
-       struct\r
-       {       int mode ;\r
-               unsigned int start ;\r
-               unsigned int end ;\r
-               unsigned int count ;\r
-       } loops [16] ; /* make variable in a sensible way */\r
-} SF_INSTRUMENT ;\r
-\r
-\r
-\r
-/* Struct used to retrieve loop information from a file.*/\r
-typedef struct\r
-{\r
-       short   time_sig_num ;  /* any positive integer    > 0  */\r
-       short   time_sig_den ;  /* any positive power of 2 > 0  */\r
-       int             loop_mode ;             /* see SF_LOOP enum             */\r
-\r
-       int             num_beats ;             /* this is NOT the amount of quarter notes !!!*/\r
-                                                       /* a full bar of 4/4 is 4 beats */\r
-                                                       /* a full bar of 7/8 is 7 beats */\r
-\r
-       float   bpm ;                   /* suggestion, as it can be calculated using other fields:*/\r
-                                                       /* file's lenght, file's sampleRate and our time_sig_den*/\r
-                                                       /* -> bpms are always the amount of _quarter notes_ per minute */\r
-\r
-       int     root_key ;                      /* MIDI note, or -1 for None */\r
-       int future [6] ;\r
-} SF_LOOP_INFO ;\r
-\r
-\r
-/*     Struct used to retrieve broadcast (EBU) information from a file.\r
-**     Strongly (!) based on EBU "bext" chunk format used in Broadcast WAVE.\r
-*/\r
-#define        SF_BROADCAST_INFO_VAR(coding_hist_size) \\r
-                       struct \\r
-                       {       char                    description [256] ; \\r
-                               char                    originator [32] ; \\r
-                               char                    originator_reference [32] ; \\r
-                               char                    origination_date [10] ; \\r
-                               char                    origination_time [8] ; \\r
-                               unsigned int    time_reference_low ; \\r
-                               unsigned int    time_reference_high ; \\r
-                               short                   version ; \\r
-                               char                    umid [64] ; \\r
-                               char                    reserved [190] ; \\r
-                               unsigned int    coding_history_size ; \\r
-                               char                    coding_history [coding_hist_size] ; \\r
-                       }\r
-\r
-/* SF_BROADCAST_INFO is the above struct with coding_history field of 256 bytes. */\r
-typedef SF_BROADCAST_INFO_VAR (256) SF_BROADCAST_INFO ;\r
-\r
-\r
-/*     Virtual I/O functionality. */\r
-\r
-typedef sf_count_t             (*sf_vio_get_filelen)   (void *user_data) ;\r
-typedef sf_count_t             (*sf_vio_seek)          (sf_count_t offset, int whence, void *user_data) ;\r
-typedef sf_count_t             (*sf_vio_read)          (void *ptr, sf_count_t count, void *user_data) ;\r
-typedef sf_count_t             (*sf_vio_write)         (const void *ptr, sf_count_t count, void *user_data) ;\r
-typedef sf_count_t             (*sf_vio_tell)          (void *user_data) ;\r
-\r
-struct SF_VIRTUAL_IO\r
-{      sf_vio_get_filelen      get_filelen ;\r
-       sf_vio_seek                     seek ;\r
-       sf_vio_read                     read ;\r
-       sf_vio_write            write ;\r
-       sf_vio_tell                     tell ;\r
-} ;\r
-\r
-typedef        struct SF_VIRTUAL_IO SF_VIRTUAL_IO ;\r
-\r
-\r
-/* Open the specified file for read, write or both. On error, this will\r
-** return a NULL pointer. To find the error number, pass a NULL SNDFILE\r
-** to sf_strerror ().\r
-** All calls to sf_open() should be matched with a call to sf_close().\r
-*/\r
-\r
-SNDFILE*       sf_open         (const char *path, int mode, SF_INFO *sfinfo) ;\r
-\r
-\r
-/* Use the existing file descriptor to create a SNDFILE object. If close_desc\r
-** is TRUE, the file descriptor will be closed when sf_close() is called. If\r
-** it is FALSE, the descritor will not be closed.\r
-** When passed a descriptor like this, the library will assume that the start\r
-** of file header is at the current file offset. This allows sound files within\r
-** larger container files to be read and/or written.\r
-** On error, this will return a NULL pointer. To find the error number, pass a\r
-** NULL SNDFILE to sf_strerror ().\r
-** All calls to sf_open_fd() should be matched with a call to sf_close().\r
-\r
-*/\r
-\r
-SNDFILE*       sf_open_fd      (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;\r
-\r
-SNDFILE*       sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ;\r
-\r
-\r
-/* sf_error () returns a error number which can be translated to a text\r
-** string using sf_error_number().\r
-*/\r
-\r
-int            sf_error                (SNDFILE *sndfile) ;\r
-\r
-\r
-/* sf_strerror () returns to the caller a pointer to the current error message for\r
-** the given SNDFILE.\r
-*/\r
-\r
-const char* sf_strerror (SNDFILE *sndfile) ;\r
-\r
-\r
-/* sf_error_number () allows the retrieval of the error string for each internal\r
-** error number.\r
-**\r
-*/\r
-\r
-const char*    sf_error_number (int errnum) ;\r
-\r
-\r
-/* The following two error functions are deprecated but they will remain in the\r
-** library for the forseeable future. The function sf_strerror() should be used\r
-** in their place.\r
-*/\r
-\r
-int            sf_perror               (SNDFILE *sndfile) ;\r
-int            sf_error_str    (SNDFILE *sndfile, char* str, size_t len) ;\r
-\r
-\r
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */\r
-\r
-int            sf_command      (SNDFILE *sndfile, int command, void *data, int datasize) ;\r
-\r
-\r
-/* Return TRUE if fields of the SF_INFO struct are a valid combination of values. */\r
-\r
-int            sf_format_check (const SF_INFO *info) ;\r
-\r
-\r
-/* Seek within the waveform data chunk of the SNDFILE. sf_seek () uses\r
-** the same values for whence (SEEK_SET, SEEK_CUR and SEEK_END) as\r
-** stdio.h function fseek ().\r
-** An offset of zero with whence set to SEEK_SET will position the\r
-** read / write pointer to the first data sample.\r
-** On success sf_seek returns the current position in (multi-channel)\r
-** samples from the start of the file.\r
-** Please see the libsndfile documentation for moving the read pointer\r
-** separately from the write pointer on files open in mode SFM_RDWR.\r
-** On error all of these functions return -1.\r
-*/\r
-\r
-sf_count_t     sf_seek                 (SNDFILE *sndfile, sf_count_t frames, int whence) ;\r
-\r
-\r
-/* Functions for retrieving and setting string data within sound files.\r
-** Not all file types support this features; AIFF and WAV do. For both\r
-** functions, the str_type parameter must be one of the SF_STR_* values\r
-** defined above.\r
-** On error, sf_set_string() returns non-zero while sf_get_string()\r
-** returns NULL.\r
-*/\r
-\r
-int sf_set_string (SNDFILE *sndfile, int str_type, const char* str) ;\r
-\r
-const char* sf_get_string (SNDFILE *sndfile, int str_type) ;\r
-\r
-\r
-/* Return the library version string. */\r
-\r
-const char * sf_version_string (void) ;\r
-\r
-\r
-/* Functions for reading/writing the waveform data of a sound file.\r
-*/\r
-\r
-sf_count_t     sf_read_raw             (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ;\r
-sf_count_t     sf_write_raw    (SNDFILE *sndfile, const void *ptr, sf_count_t bytes) ;\r
-\r
-\r
-/* Functions for reading and writing the data chunk in terms of frames.\r
-** The number of items actually read/written = frames * number of channels.\r
-**     sf_xxxx_raw             read/writes the raw data bytes from/to the file\r
-**     sf_xxxx_short   passes data in the native short format\r
-**     sf_xxxx_int             passes data in the native int format\r
-**     sf_xxxx_float   passes data in the native float format\r
-**     sf_xxxx_double  passes data in the native double format\r
-** All of these read/write function return number of frames read/written.\r
-*/\r
-\r
-sf_count_t     sf_readf_short  (SNDFILE *sndfile, short *ptr, sf_count_t frames) ;\r
-sf_count_t     sf_writef_short (SNDFILE *sndfile, const short *ptr, sf_count_t frames) ;\r
-\r
-sf_count_t     sf_readf_int    (SNDFILE *sndfile, int *ptr, sf_count_t frames) ;\r
-sf_count_t     sf_writef_int   (SNDFILE *sndfile, const int *ptr, sf_count_t frames) ;\r
-\r
-sf_count_t     sf_readf_float  (SNDFILE *sndfile, float *ptr, sf_count_t frames) ;\r
-sf_count_t     sf_writef_float (SNDFILE *sndfile, const float *ptr, sf_count_t frames) ;\r
-\r
-sf_count_t     sf_readf_double         (SNDFILE *sndfile, double *ptr, sf_count_t frames) ;\r
-sf_count_t     sf_writef_double        (SNDFILE *sndfile, const double *ptr, sf_count_t frames) ;\r
-\r
-\r
-/* Functions for reading and writing the data chunk in terms of items.\r
-** Otherwise similar to above.\r
-** All of these read/write function return number of items read/written.\r
-*/\r
-\r
-sf_count_t     sf_read_short   (SNDFILE *sndfile, short *ptr, sf_count_t items) ;\r
-sf_count_t     sf_write_short  (SNDFILE *sndfile, const short *ptr, sf_count_t items) ;\r
-\r
-sf_count_t     sf_read_int             (SNDFILE *sndfile, int *ptr, sf_count_t items) ;\r
-sf_count_t     sf_write_int    (SNDFILE *sndfile, const int *ptr, sf_count_t items) ;\r
-\r
-sf_count_t     sf_read_float   (SNDFILE *sndfile, float *ptr, sf_count_t items) ;\r
-sf_count_t     sf_write_float  (SNDFILE *sndfile, const float *ptr, sf_count_t items) ;\r
-\r
-sf_count_t     sf_read_double  (SNDFILE *sndfile, double *ptr, sf_count_t items) ;\r
-sf_count_t     sf_write_double (SNDFILE *sndfile, const double *ptr, sf_count_t items) ;\r
-\r
-\r
-/* Close the SNDFILE and clean up all memory allocations associated with this\r
-** file.\r
-** Returns 0 on success, or an error number.\r
-*/\r
-\r
-int            sf_close                (SNDFILE *sndfile) ;\r
-\r
-\r
-/* If the file is opened SFM_WRITE or SFM_RDWR, call fsync() on the file\r
-** to force the writing of data to disk. If the file is opened SFM_READ\r
-** no action is taken.\r
-*/\r
-\r
-void   sf_write_sync   (SNDFILE *sndfile) ;\r
-\r
-\r
-\r
-/* The function sf_wchar_open() is Windows Only!\r
-** Open a file passing in a Windows Unicode filename. Otherwise, this is\r
-** the same as sf_open().\r
-**\r
-** In order for this to work, you need to do the following:\r
-**\r
-**             #include <windows.h>\r
-**             #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1\r
-**             #including <sndfile.h>\r
-*/\r
-\r
-#if (defined (ENABLE_SNDFILE_WINDOWS_PROTOTYPES) && ENABLE_SNDFILE_WINDOWS_PROTOTYPES)\r
-SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ;\r
-#endif\r
-\r
-\r
-\r
-#ifdef __cplusplus\r
-}              /* extern "C" */\r
-#endif /* __cplusplus */\r
-\r
-#endif /* SNDFILE_H */\r
-\r
diff --git a/fdmdv2/libsndfile/include/sndfile.hh b/fdmdv2/libsndfile/include/sndfile.hh
deleted file mode 100644 (file)
index 605ef71..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-/*\r
-** Copyright (C) 2005-2011 Erik de Castro Lopo <erikd@mega-nerd.com>\r
-**\r
-** All rights reserved.\r
-**\r
-** Redistribution and use in source and binary forms, with or without\r
-** modification, are permitted provided that the following conditions are\r
-** met:\r
-**\r
-**     * Redistributions of source code must retain the above copyright\r
-**       notice, this list of conditions and the following disclaimer.\r
-**     * Redistributions in binary form must reproduce the above copyright\r
-**       notice, this list of conditions and the following disclaimer in\r
-**       the documentation and/or other materials provided with the\r
-**       distribution.\r
-**     * Neither the author nor the names of any contributors may be used\r
-**       to endorse or promote products derived from this software without\r
-**       specific prior written permission.\r
-**\r
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
-** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
-** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
-** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
-** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
-** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
-** OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
-** WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
-** OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
-** ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-*/\r
-\r
-/*\r
-** The above modified BSD style license (GPL and LGPL compatible) applies to\r
-** this file. It does not apply to libsndfile itself which is released under\r
-** the GNU LGPL or the libsndfile test suite which is released under the GNU\r
-** GPL.\r
-** This means that this header file can be used under this modified BSD style\r
-** license, but the LGPL still holds for the libsndfile library itself.\r
-*/\r
-\r
-/*\r
-** sndfile.hh -- A lightweight C++ wrapper for the libsndfile API.\r
-**\r
-** All the methods are inlines and all functionality is contained in this\r
-** file. There is no separate implementation file.\r
-**\r
-** API documentation is in the doc/ directory of the source code tarball\r
-** and at http://www.mega-nerd.com/libsndfile/api.html.\r
-*/\r
-\r
-#ifndef SNDFILE_HH\r
-#define SNDFILE_HH\r
-\r
-#include <sndfile.h>\r
-\r
-#include <string>\r
-#include <new> // for std::nothrow\r
-\r
-class SndfileHandle\r
-{      private :\r
-               struct SNDFILE_ref\r
-               {       SNDFILE_ref (void) ;\r
-                       ~SNDFILE_ref (void) ;\r
-\r
-                       SNDFILE *sf ;\r
-                       SF_INFO sfinfo ;\r
-                       int ref ;\r
-                       } ;\r
-\r
-               SNDFILE_ref *p ;\r
-\r
-       public :\r
-                       /* Default constructor */\r
-                       SndfileHandle (void) : p (NULL) {} ;\r
-                       SndfileHandle (const char *path, int mode = SFM_READ,\r
-                                                       int format = 0, int channels = 0, int samplerate = 0) ;\r
-                       SndfileHandle (std::string const & path, int mode = SFM_READ,\r
-                                                       int format = 0, int channels = 0, int samplerate = 0) ;\r
-                       SndfileHandle (int fd, bool close_desc, int mode = SFM_READ,\r
-                                                       int format = 0, int channels = 0, int samplerate = 0) ;\r
-\r
-#ifdef ENABLE_SNDFILE_WINDOWS_PROTOTYPES\r
-                       SndfileHandle (LPCWSTR wpath, int mode = SFM_READ,\r
-                                                       int format = 0, int channels = 0, int samplerate = 0) ;\r
-#endif\r
-\r
-                       ~SndfileHandle (void) ;\r
-\r
-                       SndfileHandle (const SndfileHandle &orig) ;\r
-                       SndfileHandle & operator = (const SndfileHandle &rhs) ;\r
-\r
-               /* Mainly for debugging/testing. */\r
-               int refCount (void) const { return (p == NULL) ? 0 : p->ref ; }\r
-\r
-               operator bool () const { return (p != NULL) ; }\r
-\r
-               bool operator == (const SndfileHandle &rhs) const { return (p == rhs.p) ; }\r
-\r
-               sf_count_t      frames (void) const             { return p ? p->sfinfo.frames : 0 ; }\r
-               int                     format (void) const             { return p ? p->sfinfo.format : 0 ; }\r
-               int                     channels (void) const   { return p ? p->sfinfo.channels : 0 ; }\r
-               int                     samplerate (void) const { return p ? p->sfinfo.samplerate : 0 ; }\r
-\r
-               int error (void) const ;\r
-               const char * strError (void) const ;\r
-\r
-               int command (int cmd, void *data, int datasize) ;\r
-\r
-               sf_count_t      seek (sf_count_t frames, int whence) ;\r
-\r
-               void writeSync (void) ;\r
-\r
-               int setString (int str_type, const char* str) ;\r
-\r
-               const char* getString (int str_type) const ;\r
-\r
-               static int formatCheck (int format, int channels, int samplerate) ;\r
-\r
-               sf_count_t read (short *ptr, sf_count_t items) ;\r
-               sf_count_t read (int *ptr, sf_count_t items) ;\r
-               sf_count_t read (float *ptr, sf_count_t items) ;\r
-               sf_count_t read (double *ptr, sf_count_t items) ;\r
-\r
-               sf_count_t write (const short *ptr, sf_count_t items) ;\r
-               sf_count_t write (const int *ptr, sf_count_t items) ;\r
-               sf_count_t write (const float *ptr, sf_count_t items) ;\r
-               sf_count_t write (const double *ptr, sf_count_t items) ;\r
-\r
-               sf_count_t readf (short *ptr, sf_count_t frames) ;\r
-               sf_count_t readf (int *ptr, sf_count_t frames) ;\r
-               sf_count_t readf (float *ptr, sf_count_t frames) ;\r
-               sf_count_t readf (double *ptr, sf_count_t frames) ;\r
-\r
-               sf_count_t writef (const short *ptr, sf_count_t frames) ;\r
-               sf_count_t writef (const int *ptr, sf_count_t frames) ;\r
-               sf_count_t writef (const float *ptr, sf_count_t frames) ;\r
-               sf_count_t writef (const double *ptr, sf_count_t frames) ;\r
-\r
-               sf_count_t      readRaw         (void *ptr, sf_count_t bytes) ;\r
-               sf_count_t      writeRaw        (const void *ptr, sf_count_t bytes) ;\r
-\r
-               /**< Raw access to the handle. SndfileHandle keeps ownership. */\r
-               SNDFILE * rawHandle (void) ;\r
-\r
-               /**< Take ownership of handle, iff reference count is 1. */\r
-               SNDFILE * takeOwnership (void) ;\r
-} ;\r
-\r
-/*==============================================================================\r
-**     Nothing but implementation below.\r
-*/\r
-\r
-inline\r
-SndfileHandle::SNDFILE_ref::SNDFILE_ref (void)\r
-: ref (1)\r
-{}\r
-\r
-inline\r
-SndfileHandle::SNDFILE_ref::~SNDFILE_ref (void)\r
-{      if (sf != NULL) sf_close (sf) ; }\r
-\r
-inline\r
-SndfileHandle::SndfileHandle (const char *path, int mode, int fmt, int chans, int srate)\r
-: p (NULL)\r
-{\r
-       p = new (std::nothrow) SNDFILE_ref () ;\r
-\r
-       if (p != NULL)\r
-       {       p->ref = 1 ;\r
-\r
-               p->sfinfo.frames = 0 ;\r
-               p->sfinfo.channels = chans ;\r
-               p->sfinfo.format = fmt ;\r
-               p->sfinfo.samplerate = srate ;\r
-               p->sfinfo.sections = 0 ;\r
-               p->sfinfo.seekable = 0 ;\r
-\r
-               p->sf = sf_open (path, mode, &p->sfinfo) ;\r
-               } ;\r
-\r
-       return ;\r
-} /* SndfileHandle const char * constructor */\r
-\r
-inline\r
-SndfileHandle::SndfileHandle (std::string const & path, int mode, int fmt, int chans, int srate)\r
-: p (NULL)\r
-{\r
-       p = new (std::nothrow) SNDFILE_ref () ;\r
-\r
-       if (p != NULL)\r
-       {       p->ref = 1 ;\r
-\r
-               p->sfinfo.frames = 0 ;\r
-               p->sfinfo.channels = chans ;\r
-               p->sfinfo.format = fmt ;\r
-               p->sfinfo.samplerate = srate ;\r
-               p->sfinfo.sections = 0 ;\r
-               p->sfinfo.seekable = 0 ;\r
-\r
-               p->sf = sf_open (path.c_str (), mode, &p->sfinfo) ;\r
-               } ;\r
-\r
-       return ;\r
-} /* SndfileHandle std::string constructor */\r
-\r
-inline\r
-SndfileHandle::SndfileHandle (int fd, bool close_desc, int mode, int fmt, int chans, int srate)\r
-: p (NULL)\r
-{\r
-       if (fd < 0)\r
-               return ;\r
-\r
-       p = new (std::nothrow) SNDFILE_ref () ;\r
-\r
-       if (p != NULL)\r
-       {       p->ref = 1 ;\r
-\r
-               p->sfinfo.frames = 0 ;\r
-               p->sfinfo.channels = chans ;\r
-               p->sfinfo.format = fmt ;\r
-               p->sfinfo.samplerate = srate ;\r
-               p->sfinfo.sections = 0 ;\r
-               p->sfinfo.seekable = 0 ;\r
-\r
-               p->sf = sf_open_fd (fd, mode, &p->sfinfo, close_desc) ;\r
-               } ;\r
-\r
-       return ;\r
-} /* SndfileHandle fd constructor */\r
-\r
-inline\r
-SndfileHandle::~SndfileHandle (void)\r
-{      if (p != NULL && --p->ref == 0)\r
-               delete p ;\r
-} /* SndfileHandle destructor */\r
-\r
-\r
-inline\r
-SndfileHandle::SndfileHandle (const SndfileHandle &orig)\r
-: p (orig.p)\r
-{      if (p != NULL)\r
-               ++p->ref ;\r
-} /* SndfileHandle copy constructor */\r
-\r
-inline SndfileHandle &\r
-SndfileHandle::operator = (const SndfileHandle &rhs)\r
-{\r
-       if (&rhs == this)\r
-               return *this ;\r
-       if (p != NULL && --p->ref == 0)\r
-               delete p ;\r
-\r
-       p = rhs.p ;\r
-       if (p != NULL)\r
-               ++p->ref ;\r
-\r
-       return *this ;\r
-} /* SndfileHandle assignment operator */\r
-\r
-inline int\r
-SndfileHandle::error (void) const\r
-{      return sf_error (p->sf) ; }\r
-\r
-inline const char *\r
-SndfileHandle::strError (void) const\r
-{      return sf_strerror (p->sf) ; }\r
-\r
-inline int\r
-SndfileHandle::command (int cmd, void *data, int datasize)\r
-{      return sf_command (p->sf, cmd, data, datasize) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::seek (sf_count_t frame_count, int whence)\r
-{      return sf_seek (p->sf, frame_count, whence) ; }\r
-\r
-inline void\r
-SndfileHandle::writeSync (void)\r
-{      sf_write_sync (p->sf) ; }\r
-\r
-inline int\r
-SndfileHandle::setString (int str_type, const char* str)\r
-{      return sf_set_string (p->sf, str_type, str) ; }\r
-\r
-inline const char*\r
-SndfileHandle::getString (int str_type) const\r
-{      return sf_get_string (p->sf, str_type) ; }\r
-\r
-inline int\r
-SndfileHandle::formatCheck (int fmt, int chans, int srate)\r
-{\r
-       SF_INFO sfinfo ;\r
-\r
-       sfinfo.frames = 0 ;\r
-       sfinfo.channels = chans ;\r
-       sfinfo.format = fmt ;\r
-       sfinfo.samplerate = srate ;\r
-       sfinfo.sections = 0 ;\r
-       sfinfo.seekable = 0 ;\r
-\r
-       return sf_format_check (&sfinfo) ;\r
-}\r
-\r
-/*---------------------------------------------------------------------*/\r
-\r
-inline sf_count_t\r
-SndfileHandle::read (short *ptr, sf_count_t items)\r
-{      return sf_read_short (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::read (int *ptr, sf_count_t items)\r
-{      return sf_read_int (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::read (float *ptr, sf_count_t items)\r
-{      return sf_read_float (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::read (double *ptr, sf_count_t items)\r
-{      return sf_read_double (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::write (const short *ptr, sf_count_t items)\r
-{      return sf_write_short (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::write (const int *ptr, sf_count_t items)\r
-{      return sf_write_int (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::write (const float *ptr, sf_count_t items)\r
-{      return sf_write_float (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::write (const double *ptr, sf_count_t items)\r
-{      return sf_write_double (p->sf, ptr, items) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::readf (short *ptr, sf_count_t frame_count)\r
-{      return sf_readf_short (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::readf (int *ptr, sf_count_t frame_count)\r
-{      return sf_readf_int (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::readf (float *ptr, sf_count_t frame_count)\r
-{      return sf_readf_float (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::readf (double *ptr, sf_count_t frame_count)\r
-{      return sf_readf_double (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::writef (const short *ptr, sf_count_t frame_count)\r
-{      return sf_writef_short (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::writef (const int *ptr, sf_count_t frame_count)\r
-{      return sf_writef_int (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::writef (const float *ptr, sf_count_t frame_count)\r
-{      return sf_writef_float (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::writef (const double *ptr, sf_count_t frame_count)\r
-{      return sf_writef_double (p->sf, ptr, frame_count) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::readRaw (void *ptr, sf_count_t bytes)\r
-{      return sf_read_raw (p->sf, ptr, bytes) ; }\r
-\r
-inline sf_count_t\r
-SndfileHandle::writeRaw (const void *ptr, sf_count_t bytes)\r
-{      return sf_write_raw (p->sf, ptr, bytes) ; }\r
-\r
-inline SNDFILE *\r
-SndfileHandle::rawHandle (void)\r
-{      return (p ? p->sf : NULL) ; }\r
-\r
-inline SNDFILE *\r
-SndfileHandle::takeOwnership (void)\r
-{\r
-       if (p == NULL || (p->ref != 1))\r
-               return NULL ;\r
-\r
-       SNDFILE * sf = p->sf ;\r
-       p->sf = NULL ;\r
-       delete p ;\r
-       p = NULL ;\r
-       return sf ;\r
-}\r
-\r
-#ifdef ENABLE_SNDFILE_WINDOWS_PROTOTYPES\r
-\r
-inline\r
-SndfileHandle::SndfileHandle (LPCWSTR wpath, int mode, int fmt, int chans, int srate)\r
-: p (NULL)\r
-{\r
-       p = new (std::nothrow) SNDFILE_ref () ;\r
-\r
-       if (p != NULL)\r
-       {       p->ref = 1 ;\r
-\r
-               p->sfinfo.frames = 0 ;\r
-               p->sfinfo.channels = chans ;\r
-               p->sfinfo.format = fmt ;\r
-               p->sfinfo.samplerate = srate ;\r
-               p->sfinfo.sections = 0 ;\r
-               p->sfinfo.seekable = 0 ;\r
-\r
-               p->sf = sf_wchar_open (wpath, mode, &p->sfinfo) ;\r
-               } ;\r
-\r
-       return ;\r
-} /* SndfileHandle const wchar_t * constructor */\r
-\r
-#endif\r
-\r
-#endif /* SNDFILE_HH */\r
-\r
diff --git a/fdmdv2/libsndfile/lib/libsndfile-1.def b/fdmdv2/libsndfile/lib/libsndfile-1.def
deleted file mode 100644 (file)
index 93cab02..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-; Auto-generated by create_symbols_file.py
-
-LIBRARY libsndfile-1.dll
-EXPORTS
-
-sf_command           @1
-sf_open              @2
-sf_close             @3
-sf_seek              @4
-sf_error             @7
-sf_perror            @8
-sf_error_str         @9
-sf_error_number      @10
-sf_format_check      @11
-sf_read_raw          @16
-sf_readf_short       @17
-sf_readf_int         @18
-sf_readf_float       @19
-sf_readf_double      @20
-sf_read_short        @21
-sf_read_int          @22
-sf_read_float        @23
-sf_read_double       @24
-sf_write_raw         @32
-sf_writef_short      @33
-sf_writef_int        @34
-sf_writef_float      @35
-sf_writef_double     @36
-sf_write_short       @37
-sf_write_int         @38
-sf_write_float       @39
-sf_write_double      @40
-sf_strerror          @50
-sf_get_string        @60
-sf_set_string        @61
-sf_version_string    @68
-sf_open_fd           @70
-sf_wchar_open        @71
-sf_open_virtual      @80
-sf_write_sync        @90
-
diff --git a/fdmdv2/libsndfile/lib/libsndfile-1.lib b/fdmdv2/libsndfile/lib/libsndfile-1.lib
deleted file mode 100644 (file)
index 424f8dc..0000000
Binary files a/fdmdv2/libsndfile/lib/libsndfile-1.lib and /dev/null differ
diff --git a/fdmdv2/libsndfile/lib/pkgconfig/sndfile.pc b/fdmdv2/libsndfile/lib/pkgconfig/sndfile.pc
deleted file mode 100644 (file)
index db2765a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=c:/devel/target/libsndfile
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: sndfile
-Description: A library for reading and writing audio files
-Requires: 
-Version: 1.0.25
-Libs: -L${libdir} -lsndfile
-Libs.private: Ext/libflac.la Ext/libvorbis.la Ext/libogg.la
-Cflags: -I${includedir} 
diff --git a/fdmdv2/libsndfile/unins000.dat b/fdmdv2/libsndfile/unins000.dat
deleted file mode 100644 (file)
index 73ca899..0000000
Binary files a/fdmdv2/libsndfile/unins000.dat and /dev/null differ
diff --git a/fdmdv2/libsndfile/unins000.exe b/fdmdv2/libsndfile/unins000.exe
deleted file mode 100644 (file)
index 428e561..0000000
Binary files a/fdmdv2/libsndfile/unins000.exe and /dev/null differ