1 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4 Add function testing function exit_if_true().
6 * tests/floating_point_test.tpl
7 Fix a problem where the test program was not exiting when the test failed.
9 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
11 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
12 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
15 Document new commands. Other minor updates.
17 * tests/peak_chunk_test.c
18 Update tests for new commands.
20 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
22 * tests/peak_chunk_test.c
23 Add test for RIFX and WAVEX files.
24 Try and confuse the PEAK chunk writing by enabling and disabling it.
27 Fix a bug where enabling and disabling PEAK chunk was screwing up.
29 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
32 Add the block of 190 reserved bytes into this struct to allow for
35 * src/wav.c src/sndfile.c src/broadcast.c
36 Significant cleanup of broadcast wave stuff.
38 * examples/sndfile-info.c
41 * tests/command_test.c tests/Makefile.am
42 Complete bext tests, hook test in test suite.
44 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
47 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
50 * src/sndfile.c src/common.h src/wav.c
51 Clean up knock on effects of above chnage.
53 * examples/sndfile-info.c
54 Add -b command line option to usage message.
55 Clean up output of broadcast wave info.
58 Ignore and skip the 'levl' chunk.
60 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
63 Fix handling of --enable and --disable configure args. Thanks to Diego
64 'Flameeyes' Petten� who sent the patch.
66 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
69 Make it really clear that although the MSVC++ cannot compile libsndfile,
70 the precompiled DLL can be used in C++ programs compiled with MSVC++.
72 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
75 Fix bug in writing of INST chunk in AIFF files.
76 Fix potential bug in writing MARK chunks.
79 Make sure the instrument chunk can only be written at the start of the file.
81 * tests/command_test.c
82 Add check of log buffer.
85 Add usage of space character to psf_binheader_writef.
87 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
89 * src/Makefile.am tests/Makefile.am
90 Remove --source-time argument from autogen command lines.
93 New file for EBU Broadcast chunk in WAV files.
95 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
96 Add patch from Paul Davis implementing read/write of the BEXT chunk.
98 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
100 * Win32/README-precompiled-dll.txt
101 New file descibing how to use the precompiled DLL.
104 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
107 Bump version to 1.0.15.
109 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
112 On read, only add the endian flag if the file is big endian.
115 Fixed writing of APDCM coeffs in RIFX files.
117 * tests/write_read_test.tpl tests/lossy_comp_test.c
118 Add tests for RIFX files.
120 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
123 Bunch of improvements.
126 Update MinGW program versions.
128 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
130 * src/create_symbols_file.py
131 Fix the library name in created win32 DEF file. Add correct DLL name for
134 * Win32/Makefile.am tests/Makefile.am
135 Remove redundant files, add win32_ordinal_test to test suite.
137 * tests/win32_ordinal_test.c
138 Update to do test in cygsndfile-1.dll as well.
141 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
143 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
144 Apply large patch from Jesse Chappell which adds support for RIFX files.
146 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
149 Add Mingw-make-dist.sh to the extra dist files.
152 Fix setting SHLIB_VERSION_ARG for MinGW.
154 * tests/win32_ordinal_test.c
155 New test program to test that the win32 DLL ordinals agree with the DEF
158 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
161 Add a static inline function to convert an int to a size_t. This will be
162 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
164 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
165 Fix an ia64 problem where a varargs function was being passed an int in
166 some places and a size_t in other places.
169 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
170 to the start of the resource fork.
172 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
175 Add a shell script to build the windows binary/source ZIP file.
178 Add download link for windows binary/source ZIP file. Add links for GPG
182 Remove info about building using microsoft compiler.
185 Bump version to 1.0.14.
187 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
190 Improve logging of errors in resource fork parser.
192 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
194 * Win32/Makefile.msvc
195 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
197 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
200 Make sure return values are initialised header buffer is full.
203 Add workarounds for messed up WAV files.
205 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
208 Undef HAVE_INTTYPES_H for win32.
210 * tests/command_test.c
211 Don't exit on error in instrument test for XI files.
214 Bump version to 1.0.13.
216 * doc/*.html NEWS README
217 Update version numbers.
219 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
222 Start work on add read/write of instrument chunks.
225 Add tests for XI instrument chunk.
227 * tests/largefile_test.c tests/Makefile.am
228 Add new test and hook it into the build system. This test will not be run
229 automatically because it requires 3 Gig of disk space and takes 3 minutes
232 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
234 * examples/sndfile-play.c
235 Fix calculation of samples remaining in win32 code. Thanks Axel Roebel.
238 Make sure length of header buffer can hold header plus strings. Thanks Axel
241 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
243 * src/sndfile.h.in src/aiff.c src/wav.c
244 Apply a patch from John Fitch (Csound project).
245 Add detune field to SF_INSTRUMENT struct.
246 Add reading/writing instrument chunks to WAV files.
248 * tests/command_test.c
249 Update SF_INSTRUMENT tests.
252 Hook instrument tests into test suite.
254 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
257 Check for <inttypes.h> because some broken systems (like Solaris) don't have
258 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
260 * src/sfendian.h src/common.h
261 Use <inttypes.h> if <stdint.h> is not available.
263 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
265 * tests/peak_chunk_test.c
266 Extend and clean up tests.
269 Fix a bug that prevented the turning off of PEAK chunks.
271 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
274 Make the test distclean correct.
277 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
279 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
281 * src/aiff.c tests/command_test.c
282 Apply a big patch from John ffitch (Csound project) to add reading and
283 writing of instrument chunks to AIFF files. Also update the test.
285 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
287 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
288 Move test function dump_data_to_file() to utils.tpl.
290 * tests/error_test.c tests/Makefile.am
291 Updates, including a new test to test that sf_error() returns a valid error
294 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
296 * examples/list_formats.c
297 Make sure the SF_INFO struct is memset to all zero before being used.
298 Thanks to Stephen F. Booth.
301 Make the return value of sf_error() match the API documentation.
303 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
305 * examples/sndfile-convert.c
306 Allow conversion to raw gsm610.
308 * src/common.h src/sndfile.c src/au.c
309 Remove au_nh_open() and all references to it (wasn't working anyway).
311 * tests/headerless_test.c
312 Add new test for file extension based detection.
315 Rejig file extension based file type detection.
317 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
320 Add "gsm" as a recognised file extension when no magic number can be found.
322 * tests/lossy_comp_test.c tests/Makefile.am
323 Test headerless GSM610.
325 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
328 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
330 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
333 Add more reporting of 'fmt ' chunk for G721 encoded files.
336 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
338 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
341 Minor cleanup of interface.
343 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
346 Removed the horribly broken and non-functional OGG implementation when
347 --enable-experimental was enabled. When OGG does finally work it will be
353 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
355 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
356 Add support for G721 encoded WAV files.
359 Update support matrix.
361 * tests/lossy_comp_test.c
362 For file formats that support it, add string data after the audio data and
363 make sure it isn't treated as audio data on read.
366 Add code to ensure that the container close function (ie for WAV files) gets
367 called after the codec's close function. This allows GSM610 encoded WAV files
368 to have string data following the audio data.
369 Add an AIFF specific check on psf->datalength.
372 Simplify wav_close function.
375 Make sure the tailer data gets written at an even file offset. Pad if
379 Replace the close function pointer in SF_PRIVATE with separate functions
380 codec_close and container_close. The former is always called first.
383 Fix knock on effects of above.
385 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
387 * examples/sndfile-info.c
388 Complete dumping SF_INSTRUMENT data.
390 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
391 Add extra checks in *_init function.
393 * tests/lossy_comp_test.c
394 Add a string comment to the end of the files to make sure that the decoder
395 doesn't decode beyond the end of the audio data section.
397 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
399 * examples/sndfile-info.c
401 Start work on dumping SF_INSTRUMENT data.
403 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
405 * src/sndfile.h.in src/common.h src/common.c
406 Update definition of SF_INSTRUMENT struct and create a function to allocate
407 and initialize the struct (input from David Viens).
408 Clean up definition of SF_INSTRUMENT struct.
410 * src/wav.c src/wav_w64.c
411 Add support for Ambisoncs B WAVEX files (David Viens).
413 * src/aiff.c src/wav.c src/wav_w64.c
414 Start work on reading/writing the SF_INSTRUMENT data.
417 Add code to get and set SF_INSTRUMENT data.
419 * tests/command_test.* tests/Makefile.am
420 Add test for set and getof SF_INSTRUMENT data.
421 The file command_test.c is no longer autogen generated.
423 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
428 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
430 * tests/lossy_comp_test.c
433 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
436 Ensure sfconfig.h is included before any other header file.
439 Add comments documenting the three sections of the file.
442 Make sure SF_FORMAT_WAVEX are handled correctly.
444 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
447 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
449 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
451 * tests/locale_test.c
452 Modify the way the unicode strings were encoded so that older compilers
453 do not complain. Thanks Axel Roebel.
456 Bump the version to 1.0.12 for release.
458 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
459 Update version numbers.
461 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
464 Fix valgrind error and minor cleanup.
466 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
468 * src/(au|paf|aiff|w64|wav|svx).c
469 Make sure structs are initialised.
471 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
474 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
476 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
477 compiler supports it.
479 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
481 * configure.ac acinclude.m4
482 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
484 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
486 * tests/util.(tpl|def)
487 Make the test_write_*_or_die() functions const safe.
489 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
492 Make sure the data offset is read from the file header. Thanks to
493 David A. van Leeuwen for a patch.
495 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
497 * configure.ac src/sfconfig.h
498 Check for <locale.h> and the function setlocale().
499 Set config variables to zero if not found.
501 * tests/locale_test.c tests/Makefile.am
502 Add new test program and hook into build/test system.
504 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
506 * src/common.h src/file_io.c
507 On windows, use windows specific types for file handles.
508 Add functions psf_init_files() and psf_use_rsrc().
511 Make resource fork handling independant of file desciptor/handles.
513 * src/sndfile.c src/test_file_io.c
514 Fix knock on effects.
516 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
519 The lrint and lrintf implementations in Cygwin are both buggy and slow.
520 Add replacements which were pulled from the Public Domain MinGW math.h
523 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
525 * tests/(lossy_comp_test|virtual_io_test).c
526 More Valgrind fixups.
529 Simplify and correct configuring for Cygwin.
531 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
532 Update build for MSVC.
534 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
536 * tests/lossy_comp_test.c
537 Make sure to close SNDFILE when exiting test when file format is not seekable.
539 * tests/(aiff_rw_test|virtual_io_test).c
540 Do a few valgrind fix ups.
542 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
544 * src/float32.c src/double64.c
545 Replace floating point equality comparisons with greater/less comparisons.
546 Found by John Pavel using the Intel compiler.
549 New file to clean up issues surrounding autoconf generated preprocessor
552 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
553 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
556 Remove Mac OS9 Metrowerks compiler specific hacks.
558 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
561 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
562 prevent Valgrind error.
564 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
567 Improve documentation of SF_GET_FORMAT_SUBTYPE.
569 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
571 * examples/sndfile-convert.c
572 Allow files to be converted to SD2 format.
575 Fix a bug in reading and writing of SD2 files on little endian CPUs.
576 Thanks to Matthew Willis for finding this.
578 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
581 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
583 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
586 Use $host_os instead of $target_os (thanks to Mo De Jong).
588 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
591 Apply a patch from Mo DeJong to allow building outside of the source dir.
594 Fix psf_fsync() for win32.
596 * src/wav.c src/wav_w64.(c|h)
597 Move some code from wav.c to wav_w64.c to improve the log output of files of
598 type WAVE_FORMAT_EXTENSIBLE.
600 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
602 * src/create_symbols_file.py
603 Make sure sf_write_fsync is an exported symbol.
605 * examples/sndfile-convert.c
606 Add support for writing VOX adpcm files.
608 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
611 Document the new function sf_write_sync().
614 Do you plan to support XYZ codec.
616 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
618 * src/sndfile.h.in src/sndfile.c
619 Add function sf_write_sync() to the API.
621 * src/common.h src/file_io.c
622 Low level implementation (win32 not done yet).
624 * tests/write_read_test.tpl
625 Use the new function in the tests.
627 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
629 * src/common.h src/double64.c src/float32.c src/sndfile.c
630 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
631 for position and a double as the value.
633 * src/aiff.c src/caf.c src/wav.c
634 Fix knock on effects of above changes.
637 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
638 SF_FORMAT_DOUBLE format.
640 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
643 Fix a bug where a variable was being used without being initialized.
646 Add extra debug in sf_flac_meta_callback.
647 Make a bunch of private functions static.
649 * src/aiff.c src/wav.c
650 Fix allocation for PEAK_CHUNK (bug found using valgrind).
652 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
655 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
656 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
657 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
659 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
660 Fix knock on effects from above.
662 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
665 Prevent files with unknown chunks from being opened read/write.
667 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
670 Do not use psf->end_of_file because it never gets set to anything.
673 Remove unused SF_PRIVATE field end_of_file.
675 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
678 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
679 style strings (no terminating character).
682 Move to new (correct) AIFF string style. Thanks to Axel Roebel for being
683 so persistent on this issue.
685 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
688 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
690 * doc/api.html doc/command.html
691 Documentation updates (thanks to Kyroz for promoting these updates).
694 Modify the way the header is written.
696 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
699 Add a 'free' chunk to the written file so that the audio data starts at
703 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
705 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
707 * src/caf.c src/sndfile.c
708 Add support for signed 8 bit integers.
710 * tests/write_read_test.tpl
711 Add test for signed 8 bit integers in CAF files.
714 Update matrix for signed 8 bit integers in CAF files.
716 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
719 Update sf_check_format() to support CAF.
721 * examples/sndfile-convert.c
722 Add support for ".caf" file extension.
725 Add Apple CAF to the support matrix.
728 Add file write support.
731 Fix printing of Frames.
733 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
734 tests/header_test.tpl misc_test.c
735 Add tests for CAF files.
737 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
740 Fix Q/A about reading/writing memory buffers.
743 Bunch of work to support reading of CAF files.
745 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
747 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
748 Fix sign conversion errors reported by gcc-4.0.
751 New file for Apple's Core Audio File format.
753 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
754 Hook new file into build system.
756 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
759 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
760 for supplying an example file.
762 * src/common.h src/sndfile.c
763 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
765 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
767 * src/sndfile.h.in src/common.h src/sndfile.c
768 Add public error value SF_ERR_MALFORMED_FILE.
771 When parsing a file header fails and we don't have a system error, then set
772 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
775 Allow sqlite support to be disabled in configure script.
777 * regtest/database.c regtest/sndfile-regtest.c
778 Fix compiling when sqlite is missing.
780 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
783 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
786 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
788 * tests/virtual_io_test.c
789 Fill in skeleton test program.
792 Move virtual i/o tests to end of tests with stdio/pipe tests.
794 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
795 Rename some of the virtual i/o functions and data types.
797 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
800 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
801 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
802 Kyroz for pointing out these errors.
805 Correct documented return values for SFC_SET_NORM_DOUBLE and
806 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
808 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
811 Add new files for sndfile-regtest program.
813 * configure.ac Makefile.am
814 Hook regetest into build.
816 * src/wav.c src/common.c
817 Fix a regression where long ICMT chunks were causing the WAV parser
820 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
823 Add html docs to the files section as suggested by Karsten Jeppesen.
826 Fix parsing of odd length ANNO chunks.
828 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
831 Change the include guard to prevent clashes with other code.
833 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
835 * examples/sndfile-play.c
836 Improve error handling in code for playback under Linux/ALSA.
838 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
841 Fix writing of IRCAM files on big endian systems (thanks to Axel Roebel).
844 Add workaround for files created by the Peak audio editor on Mac which can
845 produce files with very short LIST chunks (thanks to Jonathan Segel who
848 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
851 Apply a patch From David Viens to make the parsing of basc chunks more
855 Another patch from David Viens to write correct wavex channel masks for
856 the most common channel configurations.
858 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
861 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
864 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
867 Add a directory field for storing the file directory to the SF_PRIVATE
871 Grab the directory name when copying the file path.
874 Cleanup psf_open_rsrc() and also check for resource fork in
875 .AppleDouble/filename.
877 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
880 Fix a bug in the printing of the channel count. Bug reported by Michael
883 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
886 Fix a seek bug for 24 bit PAF files.
888 * tests/write_read_test.tpl
889 Update write_read_test to trigger the previously hidden PAF seek bug.
891 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
893 * src/aiff.c src/w64.c src/wav.c
894 Do not return a header parse error when the log buffer overflows.
895 Continuing parsing works even on files where the log buffer does overflow.
896 This avoids a bug on some weirdo WAV (and other) files.
898 * src/common.h src/sndfile.c
899 Remove SFE_LOG_OVERRIN error and its associated error message.
902 Fix a rsrc fork problem on MacOSX.
904 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
907 In the ALSA output code, added call to snd_pcm_drain() just before
908 snd_pcm_close() as suggested by Thomas Kaeding.
909 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
910 SNDCTL_DSP_SYNC) just before the close of the audio device.
912 * tests/virtual_io_test.c tests/Makefile.am
913 Add a new test program (currently empty) and add it to the build.
915 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
917 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
918 src/create_symbols_file.py
919 Apply patch from Steve Baker which is the beginnings of a virtual
922 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
924 * src/*.c src/sndfile.h.in
925 Const-ify the write path throughout the library.
927 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
929 * doc/development.html
932 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
937 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
940 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
942 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
945 Remove some ambiguities in the SD2 FAQ answer.
947 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
949 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
950 Updates from autoconfig versions.
952 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
955 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
956 instead of COMT chunk.
958 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
960 * src/file_io.c src/common.h
961 Change the ptr argument to psf_write() from "void*" to a "const void*".
962 Thanks to Tobias Gehrig for suggesting this.
964 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
966 * src/file_io.c src/common.h
967 Add functions psf_close_rsrc() and read length of resourse fork into
968 rsrclength field of SF_PRIVATE.
971 Make sure resource fork gets closed.
974 Add functions to check for file descriptor leakage.
976 * src/write_read_test.tpl
977 Use the file descriptor leak checks.
980 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
983 Add SF_LOOP_INFO pointer to SF_PRIVATE.
985 * src/wav.c src/aiff.c
986 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
987 SF_LOOP_INFO data in SF_PRIVATE.
989 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
992 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
994 * Win32/config.h Win32/sndfile.h
998 Add win32 macro for snprintf.
1000 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1003 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
1006 Use macros to make sure writing SD2 files on little endian machines works
1010 Add a delete_file() function which also deletes the resource fork of SD2
1013 * tests/write_read_test.tpl
1014 Use delete_file() so that "make distcheck" works.
1016 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1018 * src/sndfile.c src/file_io.c
1019 Move resource filename construction and testing to psf_open_rsrc().
1021 * src/common.h src/sndfile.c
1022 Add error SFE_SD2_FD_DISALLOWED.
1024 * tests/util.tpl tests/*.(c|tpl)
1025 Add and allow_fd parameter to test_open_file_or_die() so that use of
1026 sf_open_fd() can be avoided when opening SD2 files.
1028 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1031 Update ACID chunk parsing.
1034 More fixes for files with large resource forks.
1036 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1038 * src/common.h src/sndfile.c
1039 Add error numbers and messages for sd2 files.
1042 Reading of sd2 (resource fork version) now seems to be working.
1044 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1047 Update file_io.c to include win32 psf_rsrc_open().
1049 * tests/floating_point_test.tpl
1050 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
1052 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
1055 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1058 Fix endswap_int64_t_(array|copy).
1060 * src/test_endswap.(tpl|def)
1061 Add tests for above and inprove all tests.
1063 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1066 Improve type safety, add endswap_double_array().
1069 Use endswap_double_array() instead of endswap_long_array().
1071 * src/test_endswap.(tpl|def) src/Makefile.am
1072 Add preliminary endswap tests and hook into build system.
1074 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1076 * src/configure.ac src/makefile.am
1077 Finally fix the bulding of DLLs on Win32/MinGW.
1080 Fix running of tests on Win32/MinGW.
1082 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1084 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
1085 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
1088 Document SFC_SET_SCALE_FLOAT_INT_READ.
1090 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1092 * tests/floating_point_test.(tpl|def)
1093 Derived from floating_point_test.c.
1094 Add (float|double)_(short|int)_test functions.
1096 * tests/util.(tpl|def)
1097 Make separate float and double versions of gen_windowed_sine().
1099 * tests/write_read_test.tpl
1100 Fix after changes to gen_windowed_sine().
1102 * src/(float32|double64).c
1103 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
1105 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1108 Fix warnings from automake 1.8 and later.
1110 * examples/sndfile-info.c
1111 Add a "fflush (stdout)" after printing Win32 message.
1113 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1115 * Win32/Makefile.mingw.in
1116 Add a "make install" target.
1118 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1120 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
1121 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
1123 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1125 * examples/sndfile-convert.c
1126 Fix a bug converting stereo integer PCM files to float.
1128 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1130 * examples/sndfile-play.c
1131 Appy patch from Conrad Parker to make Mac OSX error messages more
1132 consistent and informative.
1135 Fix a HTML HREF which was wrong.
1138 Add information about when nmake fails.
1140 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1142 * examples/sndfile-play.c
1143 Another patch from Denis Cote to prevent race conditions.
1145 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1147 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
1148 Fix alternative to ISO standard flexible struct array feature for broken
1151 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1153 * src/common.h src/string.c src/sndfile.c
1154 Make sf_set_string() return an error if trying to set a string when in
1157 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1160 Change the unnamed union into a named union so gcc-2.95 will compile it.
1163 Fixes to allow for the above change.
1165 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1167 * examples/sndfile-play.c
1168 Fixes for Win32. Thanks to Denis Cote.
1170 * Win32/Win32/Makefile.(msvc|mingw.in)
1171 Fix build system after removal of sfendian.h.
1172 Build sndfile-convert.
1175 Remove sfendian.c from dependancies.
1177 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1180 Fix typo in comments (thanks Tommi Sakari Uimonen).
1182 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1184 * tests/(a|u)law_test.c
1187 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1189 * src/(pcm|float|double64|ulaw|alaw|xi).c
1190 Optimise read/write loops by removing a redundant variable.
1192 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1195 Remove call to fsync() in psf_close().
1197 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1200 Inline x2y_array() functions where possible.
1203 Detect presence of type int64_t.
1205 * src/sfendian.c src/sfendian.h
1206 Move functions in the first file to the sfendian.h as static inline
1208 Improve endswap_long_*() where possible.
1210 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1213 When converting from unsigned char to float or double, subtract 128 before
1214 converting to float/double rather than after to save a floating point
1215 operation as suggested by Stefan Briesenick.
1217 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
1218 Optimize inner loops by changing the loop counting slightly as suggested
1219 by Stefan Briesenick.
1222 Detect presence of <byteswap.h>.
1225 Use <byteswap.h> if present as suggested by Stefan Briesenick.
1230 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1232 * src/common.h src/*.c
1233 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
1234 double, float, int etc elements.
1236 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1238 * examples/sndfile-play.c
1239 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
1240 mono files on MacOSX.
1242 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1244 * examples/sndfile-convert.c
1245 Move copy_metadata() after the second sf_open().
1247 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1249 * examples/sndfile-convert.c
1250 Fix a bug which caused the program to go into an infinite loop if the source
1251 file has no meta-data. Thanks to Ron Parker for reporting this.
1254 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
1256 * Win32/sndfile.h MacOS9/sndfile.h
1257 Update these as per the above file.
1259 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1261 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
1263 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
1264 Annodex support via liboggz and libfishsound. Thanks Conrad.
1266 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1268 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
1269 Add cast to size_t for some parameters passed to psf_binheader_writef. This
1270 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
1273 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
1276 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1279 Bump version to 1.0.10 ready for release.
1282 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
1283 from distribution tarball.
1285 * tests/header_test.tpl
1286 Fix uninitialised variable.
1288 * src/GSM610/short_term.c
1289 Fix compiler warning on MSVC++.
1291 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1294 Improve record keeping of chunks seen and return an error if a file with
1295 unusual chunks is opened in mode SFM_RDWR.
1298 This file not needed so remove it.
1300 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1302 * tests/header_test.tpl
1303 Add extra_header_test().
1305 * src/common.h src/sndfile.c
1306 Add SFE_RDWR_BAD_HEADER error number and string.
1308 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1310 * tests/utils.tpl tests/*.c tests/*.tpl
1311 Add a line number argument to check_log_buffer_or_die() and update all
1312 files that use that function.
1314 * tests/header_test.tpl
1315 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
1317 * src/aiff.c src/wav.c
1318 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
1319 SFC_UPDATE_HEADER_AUTO.
1321 * src/test_file_io.c
1322 Add a test for psf_ftruncate() function.
1324 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1327 Fix another weird corner case bug found by Martin Rumori. Thanks.
1329 * tests/header_test.(tpl|def)
1330 Two new files to test for the absence of the above bug and include tests
1331 moved from tests/misc_test.c.
1334 Hook new tests into build/test system.
1337 Remove update_header_test() which has been moved to the new files above.
1339 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1342 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
1343 with a format of SF_FORMAT_FLOAT and then closed before any data is written
1344 to it, the header can get screwed up (PEAK chunk gets overwritten).
1346 * tests/write_read_test.tpl
1347 Add a test (empty_file_test) for the above bug.
1349 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1351 * Win32/Makefile.mingw.in
1352 Added a Makefile for MinGW (needs to be processed by configure).
1354 * src/mmsystem.h src/mmreg.h
1355 Add files from the Wine project (under the LGPL) to allow build of
1356 sndfile-play.exe under MinGW.
1358 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1360 * src/GSM610/gsm610_priv.h
1361 Replace ugly macros with inline functions.
1364 Remove temporary variables used by macros and other minor fixes required by
1367 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1369 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
1370 Make sure these programs compile (even though they do nothing) on Win32
1371 and add them to the "make check" target.
1374 Fix warning on Sparc CPU and code cleanup.
1376 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1379 Fix warning messages when compiling under MinGW.
1381 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1384 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
1385 accepts the flexible array struct member as per 1999 ISO C standard.
1387 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
1388 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
1389 hack for non 1999 ISO C compliant compilers.
1391 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1394 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
1395 string does not already have libsndfile in the string. Thanks to Conrad
1398 * tests/string_test.c
1399 Add test to verify the above.
1401 * examples/sndfile-convert.c
1402 Add ability to transcode meta data as well (Conrad Parker).
1404 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1407 Fix minor error. Thanks to Simon Burton.
1410 Started adding instructions for compiling libsndfile under MinGW.
1413 Add --enable-bow-docs to enable black text on a white background HTML docs.
1415 * doc/libsndfile.css.in
1416 This is now a template file for configure which sets the foreground and
1419 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1422 Do some MinGW fixes.
1424 * configure.ac doc/Makefile.am
1425 Install HTML docs when doing make install.
1427 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1429 * examples/sndfile-info.c
1430 Print out the dB level with the signal max.
1432 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1435 Define S_ISSOCK in src/file_io.c if required.
1437 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1440 Improve printout configuration summary (as suggested by Axel R�bel).
1443 Add link to pre-release location.
1446 Remove comma after last element of enum.
1448 * src/float32.c src/double64.c
1449 Fix read/write of float/double encoded raw files to/from pipes.
1451 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
1452 Turn pipe_test.c into an autogenerated file and add tests for reading/
1453 writing floats and doubles.
1456 Hook tests/pipe_test.* into build system.
1458 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1460 * configure.ac acinclude.m4
1461 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
1463 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1466 Perform update_header_test in RDWR mode as well.
1469 Fix problems when updating header in RDWR mode.
1471 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1473 * src/wav.c src/w64.c src/wav_w64.c
1474 Integrate code supplied by David Viens for supporting microsoft's
1475 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
1477 * configure.ac doc/*.html
1478 Bump version to 1.0.9.
1480 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1482 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
1483 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
1485 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1488 New file to handle Audio Visual Resaerch files.
1490 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
1491 Hook AVR into everything else.
1493 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
1494 Add testing for AVR files.
1496 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1499 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
1500 Technologie) for coming up with the solution.
1502 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1504 * tests/write_read_test.tpl
1505 Fixed a bug that was causing valgrind to report a memory leak. The bug was
1506 in the test code itself, not the library.
1508 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1510 * examples/generate.cs
1511 An example showing how to use libsndfile from C#. Thanks to James Robson
1514 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1517 Fix problems with WAV files containing large chunks after the 'data'
1518 chunk. Thanks to Koen Tanghe for providing a sample file.
1520 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1523 Detect presense of ALSA (Advanced Linux Sound Architecture).
1525 * examples/sndfile-play.c
1526 Add ALSA output support.
1528 * examples/Makefile.am
1529 Add ALSA_LIBS to link line of sndfile-play.c.
1531 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1534 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
1535 the use of the what is known as the struct hack introduced by the 1999 ISO
1539 The last release would not compile with gcc-2.95 due to the use of features
1540 (ie struct hack) introduced by the 1999 ISO C Standard.
1541 Add check to make sure compiler handles this and bomb out if it doesn't.
1543 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1545 * tests/write_read_test.tpl
1546 Fix compiler warning on Win32.
1549 Fix use of an un-initialised variable in Win32 stuff.
1551 * Win32/config.h examples/sndfile-play.c
1554 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1557 Fix bug which occurres when configuring for MinGW.
1558 If compiler is gcc and cross compiling use -nostdinc.
1560 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1562 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
1564 Fix a bug with PEAK chunk handling for files with more than 16 channels.
1565 Thanks to Remy Bruno for finding this.
1567 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1570 Fix a bug which was preventing WAV files being openned correctly if the
1571 file had a very large header. Thanks to Eldad Zack for finding this.
1573 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1575 * configure.ac src/file_io.c
1576 Fix cross-compiling from Linux to Win32 using the MinGW tools.
1578 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1580 * src/create_symbols_file.sh
1581 Christian Weisgerber pointed out that the shell script did not run on a
1582 real Bourne shell although it did run under Bash in Bourne shell mode.
1584 * src/create_symbols_file.py
1585 Rewrite of above in Python. Also add support for writing Win32 .def files.
1586 The Python script generates Symbols.linux, Symbols.darwin and
1587 libsndfile.def (Win32 version). These files get shipped with the tarball
1588 so there should not be necessary to run the Python script when building
1589 the code from the tarball.
1591 * configure.ac src/Makefile.am Win32/Makefile.am
1592 Hook new Python script into the build system.
1594 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1597 Add --enable-gcc-werror option and move GCC specific stuff down.
1599 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1601 * acinclude.m4 configure.ac
1602 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
1605 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
1606 of missing large file support on Linux and Solaris.
1608 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1610 * examples/sndfile-play.c
1611 Fix a MacOSX specific bug which was caused by a space being inserted in
1612 the middle of a file name.
1614 * configure.ac src/Makefile.am examples/Makefile.am
1615 Fix a couple of MacOSX build issues.
1617 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1620 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
1622 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1625 Applied patch from Frank Neumann (author of lakai) which fixes many minor
1626 typos in documentation. Thanks Frank.
1628 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1631 Changed my email address throughout source and docs.
1633 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1636 Make sure config.h is included before stdio.h to make sure large file
1637 support is enabled on Linux (and Solaris).
1640 Disable update_header test on Win32. This should work but doesn't and
1643 * Make.bat Win32/Makefile.msvc
1646 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1649 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
1650 int to int to prevent weird arithmetic bugs.
1652 * src/common.c src/aiff.c src/wav.c src/w64.c
1653 Fixed compiler warnings resulting from above change.
1655 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1658 Fixed a bug in header reader for some files with data after the sample data.
1660 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1662 * tests/lossy_comp_test.c tests/Makefile.am
1663 Add tests for AIFF/IMA files.
1665 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1667 * src/macbinary3.c src/macos.c
1668 Two new files required for handling SD2 files.
1671 Add prototypes for functions in above two files.
1674 Hook new files into build system.
1676 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1679 Add checks for mmap() and getpagesize() which might be used at some time
1680 for faster file reads.
1681 Add detection of MacOSX.
1683 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1686 Minor mods to pkg-config section.
1688 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1690 * src/create_symbols_file.sh
1691 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
1692 static symbols are exported causing troubles when trying to link
1693 libsndfile with another library which has any of the same symbols.
1694 He fixed this by supplying the MacOSX linker with a file containing
1695 all the public symbols so that only they would be exported and then
1696 supplied a patch for libsndfile.
1697 This wasn't quite ideal, because I would have to maintain two (3 if
1698 you include Win32) separate files containing the exported symbols.
1699 A better solution was to create this script which can generate a
1700 Symbols file for Linux, MacoSX and any other OS that supports
1701 minimising the number of exported symbols.
1703 * configure.ac src/Makefile.am
1704 Hook the new script into the build process.
1706 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1709 Added comments about Steve Dekorte's SoundConverter scam.
1711 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1714 Axel Roebel pointed out that on Mac OSX a pipe is not considered a fifo
1715 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
1716 true). The test has therefore been changed to is S_ISREG and anything
1717 which which does not return true for S_ISREG is considered a pipe.
1719 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1722 Fix update_header_test to pass SDS.
1727 * tests/floating_point_test.c
1728 Add test for SDS files.
1731 Add SDS to major_formats array.
1733 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1735 * tests/write_read_test.tpl tests/misc_test.c
1736 Add tests for SDS files.
1739 Fix a bug in header update code.
1741 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1744 Get file write working.
1747 Fix a potential bug in paf24_seek().
1749 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1752 Add Q/A about u-law encoded WAV files.
1755 Updated so it compiles on Win32.
1757 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1759 * examples/sndfile-convert.c
1760 Add -alaw and -ulaw command line arguments.
1763 Add library versioning comments.
1764 Add arguments to AC_INIT.
1766 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1769 Ross Bencina has contributed code to replace all of the (mostly broken)
1770 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
1771 This code still needs testing but is likely to be a huge improvemnt
1772 of support for Win32. Thanks Ross.
1774 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1777 Removed filedes field from the DWVW_PRIVATE struct.
1780 Change psf_fopen() so it returns psf->error instead of the file descriptor.
1781 Add new functions psf_set_stdio() and psf_set_file().
1784 Change these to work with changed psf_fopen() return value.
1785 Remove all uses of psf->filedes from sndfile, making it easier to slot native
1786 Win32 API file handling functions.
1788 * src/test_file_io.c
1789 Minor changes to make it compile with new file_io.c stuff.
1791 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1794 Rename a variable from true to true_flag. As Ross Bencina points out,
1795 true is defined in the C99 header <stdbool.h>.
1798 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
1800 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1803 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
1806 Fix sf_read/write_raw which were dividing by psf->bytwidth and
1807 psf->blockwidth which can both be zero.
1809 * examples/sndfile-info.c
1810 Increase size of BUFFER_LEN.
1812 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1815 Add checks for <sys/wait.h> and ssize_t.
1816 Other Win32/MinGW checks.
1818 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
1819 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
1820 Fix compiler warnings.
1822 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1824 * tests/scale_clip_test.tpl
1825 Add definition of M_PI if needed.
1827 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1830 Detect if S_IRGRP is declared in <unistd.h>.
1832 * src/file_io.c tests/*.tpl tests/*.c
1833 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
1834 file doesn't declare S_IRGRP.
1836 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1839 Add comment stating that the sf_count_t typedef is determined when
1840 libsndfile is being compiled.
1843 Modified so that utils.c gets one copy of the GPL and not two.
1846 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1848 * Win32/unistd.h src/sf_unistd.h
1849 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
1851 * Win32/Makefile.am src/Makefile.am
1852 Changed in line with above.
1854 * Win32/Makefile.msvc
1855 Removed "/I Win32" which is no longer required.
1857 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
1858 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
1859 work for Win32, MinGW and other fakes Unix-like OSes.
1862 Removed #include <unistd.h> from files which didn't need it.
1864 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1866 * libsndfile.spec.in
1867 Apply fix from Andrew Schultz.
1869 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1872 Only set psf->sf.samplerate if the existing value is invalid.
1874 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1876 * examples/sndfile-play.c
1877 Started adding support for ALSA output.
1879 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1882 Removed <stdlib.h> from sndfile.h.
1884 * src/*.c examples/*.c tests/*.c tests/*.tpl
1885 Added <stdlib.h> where needed.
1887 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1890 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
1892 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1895 Remove statements about alternative licensing arrangements.
1897 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1899 * MacOS MacOS9 Makefile.am configure.ac
1900 Change directory name from MacOS to MacOS9
1902 * MacOS9/MacOS9-readme.txt
1903 Change name to make it really obvious, add text to top of file to make it
1904 still more obvious again.
1906 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1908 * src/test_log_printf.c
1909 Add tests for %u conversions.
1912 Fix psf_log_printf() %u conversions.
1914 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1917 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
1918 would over-write part of the header. Thanks to Axel Roebel for pointing
1919 this out. Axel also provided a patch to fix this but I came up with a
1920 neater and more general solution.
1921 Return error when openning an AIFF file with data after the SSND chunk
1922 (Thanks Axel Roebel).
1924 * tests/aiff_rw_test.c
1925 Improvements to test program which will later allow it to be generalised to
1926 test WAV, SVX and others as required.
1928 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1931 Add useek_pipe_rw_test() submitted by Russell Francis.
1934 In sf_open_fd(), check if input file descriptor is a pipe.
1937 Fix typo in variable name do_not_close_descriptor.
1939 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1941 * src/test_log_printf.c
1942 Improve the tests for %d and %s conversions.
1945 Fixed a few problems in psf_log_printf() found using new tests.
1947 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1950 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
1951 Peter Miller (Aegis author) for suggesting this and supplying a patch.
1953 * src/*.c examples/*.c tests/*.c
1954 Fix all compiler warnings arising from the above.
1958 * tests/aiff_rw_test.c tests/Makefile.am
1959 New test program to check for errors re-writing the headers of AIFC files
1960 opened in mode SFM_RDWR.
1962 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1964 * examples/sndfile-play.c
1965 Applied a patch from Tero Pelander to allow this program to run on systems
1966 using devfs which used /dev/sound/dsp instead of /dev/dsp.
1968 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1970 * doc/new_file_type.HOWTO
1971 Updated document. Still incomplete.
1973 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1976 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
1977 than saving it and returning zero.
1979 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1982 Two fixes for Mac OS9.
1983 Fix all casts from sf_count_t to ssize_t (not size_t).
1985 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1988 Fix for reading files with RIFF length of 8 and data length of 0.
1990 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1992 * src/*.c tests/*.c tests/*.tpl
1993 Added comments to mark code for removal when make Lite version of
1996 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1998 * examples/sndfile-convert.c
1999 Add extra error checking for unrecognised arguments.
2001 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2004 Started adding code to write IMA ADPCM encoded AIFF files.
2006 * src/test_log_printf.c src/Makefile.am
2007 New file to test psf_log_printf() function and add hooks into build system.
2010 Move psf_log_printf() function to top of the file and only compile the rest
2011 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
2013 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2015 * Win32/config.h Win32/sndfile.h
2016 Updated with new config variables.
2018 * Win32/unistd.h src/file_io.c
2019 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
2020 used in src/file_io.c.
2023 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
2027 Added src\test_file_io.exe build target and run this as the very first
2030 * tests/win32_test.c
2031 Add support for testing Cygwin32.
2034 Detect POSIX fsync() and fdatasync() functions.
2037 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
2040 * tests/pcm_test.tpl
2041 Add a test for lrintf() function. This was required to detect a really
2042 broken lrint() and lrintf() on Cygwin.
2045 Don't run permission test when compiling under Cygwin.
2048 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
2049 to match official function prototypes.
2051 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2053 * examples/sndfile-convert.c
2054 Modifications to improve accuracy of conversions; use double data for
2055 floating point and int for everything else.
2058 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
2059 get encoding working.
2061 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2063 * src/aiff.c src/ima_adpcm.c
2064 Start working on getting IMA ADPCM encoded AIFF files working.
2066 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2069 Fixed the touch command for when the autogen program is not found (Matt
2072 * src/ulaw.c src/alaw.c
2073 Made these pipe-able.
2075 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2077 * src/paf.c src/ircam.c
2078 Fixed writing to pipe.
2080 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
2081 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
2083 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2085 * examples/sndfile-info.c
2086 Modified to detect unknown file lengths.
2089 Fix reading from a pipe.
2091 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2094 Add more file types to tests.
2097 Removed explicit setting of psf->sf.seekable to SF_TRUE.
2100 Add macro for generating and check data in the stdio and pipe tests.
2102 * tests/stdout_test.c tests/stdin_test.c
2103 Use the above macro to generate known data on output and check data on
2106 * src/voc.c src/htk.c common.h sndfile.c
2107 Disallow reading/writing VOC and HTK files from/to pipes be returning new
2111 Fixes to allow reading from a pipe.
2113 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2115 * configure.ac src/sndfile.h.in
2116 When the configure script determines the sizeof (sf_count_t), also set the
2117 value of SF_COUNT_MAX in sndfile.h.
2120 Remove -pedantic flag from default GCC compiler flags.
2123 Add a pipe_read_test() before doing pipe_write_test().
2125 * tests/scale_clip_test.c
2126 Add test to make sure non-normalized values also clip in the right way.
2128 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2131 Add test to detect processor clipping capabilities.
2133 * tests/stdin_test.c tests/stdout_test.c
2134 Fix a pair of compiler warnings.
2137 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
2138 offset when operating on a pipe.
2141 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
2142 psf_binheader_readf and redirect them to new buffered versions
2143 header_read(), header_seek() and header_gets().
2144 Add "G" format specifier to emulate fgets() functionality with buffering.
2145 This will allow reading some file types from pipes.
2148 When the file descriptor is a pipe, manintain psf->pipeoffset.
2151 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
2154 Fix reading from a pipe.
2156 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2159 Add clipping versions of the f2XXX_array() functions to allow option of
2160 clipping data that would otherwise overflow.
2162 * tests/scale_clip_test.tpl tests/scale_clip_test.def
2163 New files test that clipping option does actually work.
2165 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2168 Fixed a typo ("OS(" instead of "OS9").
2170 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2172 * tests/open_fail_test.c
2173 Include <string.h> to prevent warning message of missing declaration of
2176 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2179 Add new "add_clipping" field to SF_PRIVATE.
2181 * src/sndfile.h.in src/sndfile.c
2182 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
2184 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2187 Add docs for sf_set_string() and sf_get_string().
2189 * src/common.h src/sndfile.c
2190 Add new SFE_STR_BAD_STRING error.
2192 * tests/stdin_test.c tests/stdout_test.c
2193 Removed all non-error print statements.
2195 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
2196 Add print statements removed from two files above.
2198 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2200 * libsndfile.spec.in
2201 Fixed a coulpe of minor errors discovered by someone calling themselves
2204 * src/common.c src/common.h src/file_io.h
2205 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
2206 function. (Axel Roebel)
2209 Fixed determination of whether the file is a pipe. (Axel Roebel)
2212 Force paf24 to start with undefined mode. (Axel Roebel)
2215 Mods to make this test work and actually do the test on RAW files. (Axel
2218 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2221 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
2222 operating on stdin or stdout but then the default initialiser was reseting
2223 it to TRUE. Thanks to Axel Roebel.
2226 Fixed a bug in the header parser where it was not handling an odd length
2227 COMM chunk correctly. Thanks to Axel Roebel.
2229 * src/test_file_io.c
2232 * tests/win32_test.c
2233 New file for showing the bugs in the Win32 implementation of the POSIX API.
2234 It also runs on Linux for sanity checking.
2236 * tests/Makefile.am Win32/Makefile.msvc
2237 Hook the new test program into the build system.
2239 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2241 * src/test_file_io.c
2242 New test program to test operation of functions defined in file_io.c. This
2243 should make supporting win32 significantly easier.
2246 Hook new test program into the build system.
2249 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
2252 * src/common.h src/sndfile.c
2253 Added new error code and error message for new check.
2255 * tests/benchmark.tpl
2256 Fix to use frames instead of samples in SF_INFO.
2258 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2261 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
2263 * examples/sndfile-info.c
2264 Applied patch from Conrad Parker to add "--help" and "-h" options as
2265 well as an improved usage message.
2267 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2270 Added embedded file support.
2272 * tests/multi_file_test.c
2273 Added tests for embedded AU files.
2274 Added verbose testing mode.
2276 * src/common.h src/sndfile.c
2277 Added an embedded AU specific error code and message.
2280 Added patch from Conrad Parker which filled in a little more information
2281 about ACIDized WAV files.
2283 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2286 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
2287 which was in turn calling psf_fseek() which in the end blew the stack.
2288 Now of course this would have been easy to find on Linux, but this blow
2289 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
2290 figure out what call caused this (it couldn't even tell me the stack had
2291 overflowed) and was absolutley useless for this debugging exercise.
2292 On top of that, the reason I got into this mess was that windoze doesn't
2293 have a working fstat() function which can return file lengths > 2 Gig. It
2294 HAS a fscking _fstati64() but the file length value is only updated AFTER
2295 the bloody file is closed. That makes it completely useless.
2296 How the hell do people stand working on this crap excuse of an OS?
2298 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2300 * Win32/unistd.h src/file_io.c
2301 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
2302 can be used in the test programs.
2304 * Win32/libsndfile.def
2308 Updated to match src/sndfile.h.in.
2310 * Win32/Makefile.msvc
2311 Added dither.c and htk.c to libsndfile.dll target.
2313 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2316 First attempt at getting the Win32 versions of the these functions working.
2317 They still need to be tested.
2319 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2322 Found and fixed a bug which was causing psf_store_string() to fail on
2323 Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
2324 of libsndfile) for compiling and running debug code to help me debug the
2327 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2329 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
2330 Much hacking to get reading and writing of embedded files working (ie sound
2331 files at a non-zero files offset).
2333 * doc/embedded_files.html
2334 First pass atempt at documenting reading/writing embedded files.
2336 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2339 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
2341 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2343 * src/wav.c src/aiff.c
2344 Fix retrieving and storing of string data from files. Need to be careful
2345 about using psf->buffer for strings.
2347 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2350 Fix psf_fseek() for seeks withing embedded files.
2352 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2355 Changed the definition of SNDFILE slightly to produce warnings when it isn't
2356 used correctly. This should have zero affect in code which uses the SNDFILE
2360 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
2362 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2365 Added question and answer to the question "How about adding the ability
2366 to write/read sound files to/from memory buffers?".
2368 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2370 * tests/write_read_test.tpl
2371 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
2372 these with SF_TRUE and SF_FALSE.
2374 * tests/multi_file_test.c
2375 New test program to test sf_open_fd() on files containing data other than
2376 a single sound file.
2378 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2381 When creating files, set the readable by others flag. This still allows
2382 further restrictions to be enforced by use of the user's umask. Fix
2383 suggested by Eric Lyon.
2385 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2387 * src/sndfile.h.in src/sndfile.c
2388 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
2389 parameter. If close desc is TRUE, the file descritpor passed into the
2390 library will be closed when sf_close() is called.
2393 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
2395 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2397 * tests/write_read_test.tpl
2398 Add a string (using sf_set_string() function) before and after data section
2399 of all files. This will make sure that if string data can be added, it
2400 doesn't overwrite real audio data.
2402 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2405 Started work on supporting a non-zero offset parameter for sf_open_fd ().
2407 * src/<file header parsers>.c
2408 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
2409 sf_open_fd() with non-zero offset.
2410 Associated refactoring.
2413 Implemented functionality required to get sf_get_string() and
2414 sf_set_string() working for AIFF files.
2416 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2419 Modified test_open_file_or_die() to alternately use sf_open() and
2423 Fixed a bug which occurred when openning an existing file for read/write
2424 using sf_open_fd(). In this case, the existing NAME chunk needs to be
2425 read into psf->filename.
2426 Fixed printing of sf_count_t types to logbuffer.
2428 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2431 Added prototype for new function sf_open_fd().
2434 Moved most of the code in sf_open() to a new function psf_open_file().
2435 Created new function sf_open_fd() which also uses psf_open_file() but
2436 does not currently support the offset parameter.
2439 Document sf_open_fd().
2441 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2444 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
2445 when an attempt was made to read and the open() call fails.
2447 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2449 * tests/open_fail_test.c
2450 New test program to check for memory leaks when sf_open fails on a valid
2451 file. Currently this must be run manually under valgrid.
2454 Hook new test program into build.
2456 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2458 * Octave/sndfile_save.m Octave/sndfile_play.m
2459 Added a -mat-binary option to the octave save command to force the output
2460 to binary mode even if the user has set ascii data as the default. Found
2461 by Christopher Moore.
2463 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2466 New file which will document the interface which allows the addition of
2467 audio dither when sample word sizes are being reduced.
2472 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2475 In update_header_test(), make HTK files a special case.
2478 Added HTK to the feature matrix.
2480 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2483 New file for reading/writing HMM Tool Kit files.
2485 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
2488 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
2489 Add tests for HTK files.
2491 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2494 Fixed a bug where the LIST chunk length was being written incorrectly.
2496 * tests/string_test.c
2497 Added call to check_log_buffer().
2500 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2503 Applied patch from Antoine Mathys to add extra WAV format definitions and
2504 a G72x_ADPCM_WAV_FMT struct definition.
2507 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
2508 one huge inefficient switch statement to a binary search.
2510 * tests/string_test.c
2511 Dump log buffer if tests fail.
2513 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2515 * tests/string_test.c
2516 David Viens supplied some modifications to this file which showed up a bug
2517 when using sf_set_string() and the sf_writef_float() functions.
2520 Fixed the above bug.
2522 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2525 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
2528 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2531 Add enums and typedefs for dither.
2532 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
2533 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
2534 allow different dither algorithms to be enabled.
2535 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
2537 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
2538 Added public sf_dither_*() functions.
2541 Implement commands above.
2544 More work. Framework and external hooks into dither algorithms complete.
2546 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2548 * doc/version-1.html libsndfile_version_convert.py
2549 Remove redundant files.
2551 * doc/index.html doc/api.html
2552 Remove links to version-1.html.
2555 New file to allow the addition of audio dither on input and output.
2558 Add prototype for dither_init() function.
2560 * Makefile.am doc/Makefile.am
2561 Changes for added and removed files.
2563 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2565 * Win32/Makefile.msvc
2566 Changes to force example binaries to be placed in the top level directory
2567 instead of the examples/ directory.
2568 Add src/strings.c and src/xi.c to the build.
2569 Add string_test to build and to tests on WAV files.
2572 Added XI to support matrix.
2574 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2577 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
2581 Added public interface to sf_get_string() and sf_set_string().
2584 Added code for setting and getting strings in WAV files.
2586 * tests/string_test.c
2587 New test program for sf_get_string() and sf_set_string() functionality.
2590 Hook new test program into build and test framework.
2592 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2595 Added fields to SF_PRIVATE for string data needed to implement
2596 sf_get_string() and sf_set_string().
2599 New file for storing and retrieving strings to/from files.
2602 Added strings.c to build.
2604 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2607 Read seems to be working so looking at write.
2610 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
2612 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
2613 Added test for 8 and 16 bit XI format files.
2615 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2618 Added a non-lawyer readable summary of the licensing provisions as
2619 suggested by Steve Dekorte.
2621 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2624 Fixed a compiler warning found by Alexander Lerch.
2626 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2629 Fixed the multiple linking of libm.
2631 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2633 * Win32/Makefile.mcvs
2634 Added comments on the correct way to set up the MSVCDir environment
2638 Add on how to set up the MSVCDir environment variable.
2640 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2642 * examples/sndfile-play.c examples/sndfile-info.c
2643 When run on Win32 without any command line parameters print a message and
2644 then sleep for 5 seconds. This means the when somebody double clicks on
2645 these programs in explorer the user will actually see the message.
2647 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2650 Bypass permission test if running as root because root is allowed to open
2651 a readonly file for write.
2653 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2655 * Win32/Makefile.msvc
2656 Added pvf.c and xi.c source files to project.
2659 Updated for PVF files.
2661 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2664 Modified validate_sfinfo() to force samplerate, channels and sections
2666 In format_from_extension() replaced calls to does_extension_match()
2672 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2675 Added octave.html which had been left out. Found by Jan Weil.
2677 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2679 * src/pvf.c src/common.h src/sndfile.c
2680 Fixed error handling for PVF files.
2683 New file for handling Fasttracker 2 Extended Instrument files. Not working
2684 yet and included when configured with --enable-experimental.
2686 * src/sndfile.c src/common.h
2687 Hooked in new file xi.c.
2689 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2692 Added a patch from Marek Peteraj which sheds a little more light on the
2693 slices within an RX2 file. Still need to find out data encoding.
2695 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2698 Started work on decoding 'acid' and 'strc' chunks.
2700 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2702 * tests/peak_check_test.c
2705 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2707 * tests/write_read_test.tpl
2708 Added check to make sure no error was generated when an attempt was made to
2709 read past the end of the file.
2711 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2714 Added "mailto" links for all three lists.
2717 New file for Portable Voice Format files.
2719 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
2720 Added hooks for SF_FORMAT_PVF format files.
2722 * tests/write_read_test.tpl tests/std*.c
2723 Add tests for SF_FORMAT_PVF.
2726 Add PVF to the compatibility matrix.
2728 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
2729 Previously, attempts to read beyond the end of a file would set psf->error
2730 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
2731 read() call but has now been fixed.
2732 Attempts to read beyond the end of the file will return a short read count
2733 but will not longer set any error.
2735 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2738 Add more sanity checking when opening a RAW file for read. When format is
2739 not RAW, zero out all members of the SF_INFO struct.
2742 Add bad_raw_test() to check for above problem.
2744 * tests/stdin_test.c examples/sndfile-info.c
2745 Set the format field of the SF_INFO struct to zero before calling
2749 Add information about the need to set the format field of the SF_INFO struct
2750 to zero when opening non-RAW files for read.
2753 Removed use of conversion script on Solaris. Not all Solaris versions
2757 New file containg details of the mailing lists.
2760 Add a link to the above new file.
2762 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2765 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
2766 for providing the gdb traceback.
2768 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2771 Added more capabilities to 'smpl' chunk parser.
2774 Fixed some (not all) possible problems found with Flawfinder.
2776 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2779 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
2780 made to read beyond the end and then sf_seek() was called with a whence
2781 parameter of SEEK_CUR.
2784 Win32's _fstati64() does not work, it returns BS. Re-implemented
2785 psf_get_filelen() in terms of psf_fseek().
2787 * tests/write_read_test.tpl
2788 Add a test to detect above bug.
2791 Modification to prevent compiler warnings on Mac OS X.
2794 Fixes for windows (what a f**ked OS).
2796 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2799 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
2800 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
2801 src/float_cast.h means that a library compiled on 10.2 will still work on
2804 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2806 * configure.in configure.ac
2807 Renamed configure.in to configure.ac as expected by later versions of
2809 Slight hacking of configure.ac to work with version 2.54 of autoconf.
2810 Changed to using -dumpversion instead of --version for determining GCC
2811 version numer as suggested by Anand Kumria.
2813 * src/G72x/Makefile.am
2814 Slight hacking required for operation with automake 1.6.3.
2816 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2819 In psf_binheader_readf() changed type parameter type "b" type from size_t
2820 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
2821 Thanks to Enrique Robledo Arnuncio for debugging this.
2823 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2825 * test/command_test.tpl
2826 Changed test value so test would pass on Solaris.
2828 * src/Version_script.in
2829 Modified version numbering so that later versions of 1.0.X can replace
2830 earlier versions without recompilation.
2833 Fixed bug causing short reads.
2835 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2837 * test/floating_point_test.c
2838 Code cleanup using functions from util.c.
2839 Add test for IEEE replacement floats and doubles.
2841 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2844 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
2845 Serg Repalov for the example file.
2847 * tests/pcm_test.tpl
2848 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
2849 Clean up pcm_double_test().
2851 * src/float32.c src/double64.c
2852 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
2853 Print message to log_buffer as well.
2854 Rename all broken_read_* and broken_write* functions to replace_read_* and
2858 Added string_in_log_buffer().
2860 * tests/pcm_test.tpl
2861 Use string_in_log_buffer() to ensure that IEEE replacement code has been
2865 Removed --enable-force-broken-float option. IEEE replacement code is now
2868 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2871 Implement code for read/writing IEEE doubles on platforms where the native
2872 double format is not IEEE.
2874 * src/float32.c src/common.h
2875 Remove float32_read() and float32_write(). Replace with float32_le_read(),
2876 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
2880 Fix all usage of float32_write().
2883 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
2886 Added SF_PRIVATE field ieee_replace.
2889 In sf_command() set/reset psf->ieee_replace.
2891 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2893 * tests/pcm_test.tpl
2894 Fixed a problem when testing with --enable-force-broken-float. The test was
2895 generating a value of negative zero and the broken float code is not able
2896 to write negative zero. Removing the negative zero fixed the test.
2898 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2901 Added fix for Cygwin (suggested by Maros Michalik).
2903 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2906 Improved error detection and handling.
2908 * src/file_io.c src/common.h
2909 Removed functions psf_ferror() and psf_clearerr() which were redundant
2910 after above improvements.
2912 * src/aiff.c src/svx.c src/w64.c src/wav.c
2913 Removed all use of psf_ferror() and psf_clearerr().
2916 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
2917 are no longer needed.
2920 Added test to make sure the correct error message is returned with an
2921 existing read-only file is openned for write.
2923 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2925 * doc/index.html doc/api.html
2926 Updated for OKI Dialogic ADPCM files.
2929 Added VOX ADPCM to sub_fomats.
2931 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2933 * src/vox_adpcm.c src/Makefile.am
2934 New file for handling OKI Dialogic ADPCM files.
2937 Add new subtype SF_FORMAT_VOX_ADPCM.
2940 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
2941 its functionality to detect headerless VOX files.
2944 Added hooks for SF_FORMAT_VOX_ADPCM.
2946 * examples/sndfile-info.c
2947 Print out file duration (suggested by Conrad Parker).
2949 * libsndfile.spec.in
2950 Force installation of sndfile.pc file (found by John Thompson).
2952 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
2953 Add tests for SF_FORMAT_VOX_ADPCM.
2955 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2958 Add test which attempts to write to /dev/full (on Linux anyway) to check
2959 for correct handling of writing to a full filesystem.
2962 Return correct error message if the header cannot be written because the
2966 Corrected printing of file mode in error reporting.
2969 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
2972 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2974 * src/common.h src/file_io.c
2975 All low level file I/O have been modified to be better able to report
2976 system errors resulting from calling system level open/read/write etc.
2979 Updated for compatibility with above changes.
2981 * examples/cooledit-fixer.c
2982 New example program which fixes badly broken file created by Syntrillium's
2983 Cooledit which are marked as containing PCM samples but actually contain
2984 floating point data.
2986 * examples/Makefile.am
2987 Hooked cooledit-fixer into the build system.
2989 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2992 Document SFC_GET_FORMAT_INFO.
2994 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2996 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
2998 Removed these files because they weren't interesting.
3000 * examples/sfconvert.c examples/sndfile-convert.c
3001 Renamed the first to the latter.
3003 * examples/Makefile.am
3004 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
3006 Removed old programs wav32_aiff24 and sndfile2oct.
3008 * man/sndfile-convert.1
3011 * examples/sndfile-convert.c
3012 Added some gloss now that sndfile-convert.c is an installed program.
3014 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
3015 Added command SFC_GET_FORMAT_INFO.
3017 * tests/command_test.c
3018 Added tests form SFC_GET_FORMAT_INFO.
3020 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3023 In sf_format_check() return error if samplerate < 0.
3025 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3028 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
3031 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3034 Fixed repeated word in an error message.
3036 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3039 Improved advertising in Features section.
3041 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3044 Added decoding of 'labl' chunks within 'LIST' chunks.
3047 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
3048 of ogg_open(). This is nowhere near working yet.
3051 Added detection of 'OggS' file marker and added call to ogg_open() to
3055 New file. Very early start of Ogg Vorbis support.
3058 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
3059 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
3060 a block alignment of 4 times the numbers of channels but are in fact 32 bit
3063 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3066 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
3067 config.h to either 0 or 1.
3070 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
3071 string if experimental code has been enabled.
3073 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3076 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
3077 in the link line when linking something to libsndfile.
3079 * tests/Makefile.am examples/Makefile.am
3080 Removed -lm from all link lines.
3083 Removed -lm from Libs line.
3085 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3088 Removed all perror() calls.
3091 Removed calls to exit() function.
3092 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
3095 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3097 * src/sndfile.h.in src/sndfile.c
3098 New function sf_strerror() which will eventually replace functions
3099 sf_perror() and sf_error_str().
3100 Function sf_error_number() has also been changed, but this was documented
3101 as being for testing only.
3104 Documented above changes.
3106 * tests/*.c examples/*.c
3107 Changed to new error functions.
3109 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3112 Detect GCC version, and print a warning message about writeable strings
3113 it GCC major version number is less than 3.
3115 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3117 * src/sndfile.h.in doc/api.html
3118 Documentation fixes.
3120 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3122 * src/Version_script.in src/Makefile.am configure.in
3123 Use the version script to prevent the exporting of all non public symbols.
3124 This currently only works with Linux. Will test on Solaris as well.
3127 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
3130 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
3132 Fix benign compiler warnings arising from previously added compiler
3135 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3138 Fixed a bug in sf_error_str() where errnum was used as the index instead
3139 of k. Found by Tim Hockin.
3141 * examples/sndfile-play.c
3142 Fixed a compiler warning resulting from a variable shadowing a previously
3145 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3147 * src/sndfile.h.in src/sndfile.c
3148 Added command SFC_SET_RAW_START_OFFSET.
3151 Document SFC_SET_RAW_START_OFFSET.
3153 * tests/raw_test.c tests/Makefile.am
3154 Add new file for for testing SF_FORMAT_RAW specific functionality.
3159 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3162 Modified reading of 'smpl' chunk to take account of the sampler data field.
3164 * tests/utils.tpl tests/utils.h
3165 Added function print_test_name().
3167 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
3168 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
3169 Convert to use function print_test_name().
3171 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3174 Added a link to some other Octave scripts for reading and writing sound
3178 Change type of dummy data field to int. This should fix a benign compiler
3179 warning on some CPUs.
3180 Removed superfluous casts resulting from the above change.
3185 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3187 * src/mat5.c src/common.c
3188 Changed usage of snprintf() to LSF_SNPRINTF().
3190 * Win32/Makefile.msvc
3191 Updated to include new files and add new tests.
3193 * Win32/config.h Win32/sndfile.h
3197 Added note about the possibility of "missing" features actually being
3198 implemented as an sf_command().
3200 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3203 Added previously missing update_header_test and zero_data_tests for PAF,
3204 MAT4 and MAT5 formats.
3206 * src/paf.c src/mat4.c src/mat5.c
3207 Fixed bugs uncovered by new tests above.
3210 Generalised parsing of name fields of MAT5 files.
3212 * src/mat5.c src/sndfile.c
3213 Added support for unsigned 8 bit PCM MAT5 files.
3215 * tests/write_read_test.tpl
3216 Added test for unsigned 8 bit PCM MAT5 files.
3219 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
3221 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3223 * test/update_header_test.c tests/misc_test.c
3224 Renamed update_header_test.c to misc_test.c.
3225 Added zero_data_test() to check for case where file is opened for write and
3226 closed immediately. The resulting file can be left in a state where
3227 libsndfile cannot open it. Problem reported by Werner Schweer, the author
3231 Removed superfluous cast.
3233 * src/wav.c src/svx.c
3234 Fixed case of file generated with no data.
3235 Removed superfluous cast.
3238 Fixed error on IA64 platform caused by incorrect termination of
3239 SndfileErrors struct array. This problem was found in the Debian buildd
3240 logs (http://buildd.debian.org/).
3243 Added Octave directory.
3245 * Octave/Makefile.ma
3246 New Makfile.am for Octave directory.
3248 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
3249 New files for working with Octave.
3252 Document explaining the use of the above three Octave scripts.
3254 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3257 Fixed bug in RDWR mode.
3259 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3262 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
3266 Added #include <io.h> for Win32. Reported by Koen Tanghe.
3268 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3271 Added 'S' format specifier for psf_binheader_writef() which writes a C
3272 string, including single null terminator to the header.
3273 Added 'j' format specifier to allow jumping forwards or backwards in the
3275 Added function psf_get_date_str().
3278 Complete read and write support.
3281 Added entries for MAT4 and MAT5 in capabilities matrix.
3283 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3286 Completed read and write support.
3288 * src/common.h src/sndfile.c
3289 Added MAT4 and MAT5 specific error messages.
3291 * tests/write_read_test.tpl tests/Makefile.am
3292 Added tests for MAT4 and MAT5 files.
3294 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
3295 Added tests for MAT4 and MAT5 files.
3297 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3300 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
3303 * examples/sfconvert.c
3304 Added mat4 and mat5 output targets.
3306 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3309 Added check to prevent errors openning read only formats for read/write.
3312 New file for interleaving non-interleaved data. Non-interleaved data is
3313 only supported on read.
3316 Added src/interleave.c to build.
3318 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3320 * src/double64.c src/common.h
3321 Added double64_be_read(), double64_le_read(), double64_be_write() and
3322 double64_le_write() which replace double64_read() and double64_write().
3325 Cleanup of psf_binheader_readf() and add ability to read big and little
3326 endian doubles (required by mat4.c and mat5.c).
3327 Add ability for psf_binheader_writef() to write doubles to sound file
3330 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3333 New file for reading Matlab (tm) version 5 data files. This is also the
3334 native binary file format for version 2.1.X of GNU Octave which will be
3339 New file for reading Matlab (tm) version 4.2 data files. This is also the
3340 native binary file format for version 2.0.X of GNU Octave which will be
3344 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
3345 Mods to add Matlab files.
3348 Added readf_endian field to SF_PRIVATE struct allowing endianness to
3349 remembered across calls to sf_binheader_readf().
3350 Fixed bug in width_specifier behaviour for printing hex values.
3352 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3355 Check return value of close() call in psf_fclose().
3357 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3360 Commented out some code where 0x10000 was being subtracted from a short
3361 and the result assigned to a short again. Andrew Zaja found this.
3363 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3366 Fixed typo found by Tommi Ilmonen.
3369 Changed type of diff from short to int to prevent errors which can occur
3370 during very rare circumstances. Thanks to FUWAFUWA.
3372 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3374 * tests/floating_point_test.c
3375 Disable testing on machines without lrintf().
3377 * Win32/Makefile.msvc
3378 Added dwd.c and wve.c to build.
3381 Bumped version to 1.0.0.
3383 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3386 Add a #include for Mac OS 9. Thanks to Stephane Letz.
3389 Changed an snprintf to LSF_SNPRINTF.
3392 Added version-1.html.
3394 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3397 Bumped version to 1.0.rc6.
3400 Modified scaling of normalised floats and doubles to integers. Until now
3401 this has been done by multiplying by 0x8000 for short output, 0x80000000
3402 for 32 bit ints and so on. Unfortunately this can cause an overflow and
3403 wrap around in the target value. All thes values have therefore been
3404 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
3405 normalised floats and doubles remains unchanged. This does mean that for
3406 repeated conversions normalised float -> pcm16 -> normalised float would
3407 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
3408 This is undesirable but less undesireable than the wrap around I am trying
3411 * tests/floating_point_test.c
3412 Removed file hash checking because new float scaling procedure introduced
3413 above prevented the ability to crate a has on both x86 and PowerPC systems.
3415 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3418 Completed reading of TXW files. Seek doesn't work yet.
3421 Added a MacOS 9 replacement for ftruncate().
3424 Added MacOS 9 header file. This should be copied into src/ to compile
3425 libsndfile for MacOS9.
3427 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3430 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
3431 values after being set. Reported by Jussi Laako.
3434 If autogen is not found, touch all .c and .h files in tests/.
3437 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
3440 Completed implementation of read only access to these files.
3442 * src/common.h src/*.c src/pcm.c
3443 Removed redundant field chars from SF_PRIVATE struct and modified
3444 pcm_init() to do without it.
3446 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3449 New file implementing read of Psion Alaw files. This will be a read only
3450 format. Implementation complete.
3453 Started implementation of DiamondWare Digitized files. Also read only, not
3457 Add parsing of 'smpl' chunk.
3460 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
3461 This brings it into line with the reading of 8 bit files into
3462 un-normalized doubles which returns values in the range [-128, 127].
3465 Modified psf_log_printf() to accept the %% conversion specifier to allow
3466 printing of a single '%'.
3469 Read only of 16 bit samples is working. Need to build a test harness for
3470 this and other read only formats.
3472 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3475 Added --enable-experimental configure option.
3476 Removed pkg-config message at the end of the configure process.
3478 * src/sds.c src/txw.c src/rx2.c src/sd2.c
3479 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
3480 blocks and added new *_open() function for the case where experimental is
3481 not enabled. These new functions just return SFE_UNIMPLMENTED.
3483 * Win32/sndfile.h src/sndfile.h.in src/common.h
3484 Removed un-necessary #pragma pack commands.
3487 Implemented psf_ftruncate() and much other hacking for Win32.
3489 * Win32/Makefile.msvc
3493 Updated to include the copying of the sndfile.h file from the Win32/
3494 directory to the src/ directory.
3497 Batch file to make compiling on Wi32 a little easier. Implements "make" and
3500 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3503 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
3504 This will need to be fixed later.
3507 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
3508 replaced by the correct type during configure.
3511 Modified to find a good type for TYPEOF_SF_COUNT_T.
3514 Fixed a bug when reading malformed headers.
3517 Set read values to zero before performing read.
3519 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3522 Fixed some HTML tags which were not allowing jumps to links within the
3526 Massive hacking on this.
3529 Added recognition of 'clm ' tag.
3531 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3534 Added beginning of a capabilities list beyond simple file formats which
3535 can be read/written.
3538 Added parsing of INST and MARK chunks of AIFF files. At the moment this
3539 data is simply recorded in the log buffer. Later it will be possible to
3540 read this data from an application using sf_command().
3543 Added parsing of 'cue ' chunk which contains loop information in WAV files.
3545 * exampes/sndfile-info.c
3546 Changed reporting of Samples to Frames.
3548 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
3549 Moved from a samples to a frames nomenclature to avoid confusion.
3552 What's the best format for storing temporary files?
3555 New file for reading/writing Midi Sample Dump Standard files.
3557 * src/Makefile.am src/sndfile.c src/common.[ch]
3558 Added hooks for sds.c.
3560 * examples/sndfile-info.c
3561 Changed from using sf_perror() to using sf_error_str().
3563 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3566 Added explanation of mode parameter for sf_open().
3567 Added explanation of usage of SFM_* values in sf_seek().
3569 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
3570 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
3571 truncation was suggested by James McCartney.
3574 Documented SFC_FILE_TRUNCATE.
3576 * tests/command_test.c
3577 Add tests for SFC_FILE_TRUNCATE.
3580 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
3581 make resetting the error number optional. All uses of the macro other than
3582 in error reporting functions were changed to reset the error number.
3585 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
3588 * tests/write_read_test.tpl
3589 Added tests of internal error state.
3591 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3593 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
3594 Renamed private.h to gsm610_priv.h to prevent clash with other headers
3595 named private.h in other directories. (Probably only a problem on MacOS 9).
3597 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
3598 Renamed private.h to g72x_priv.h to prevent clash with other headers
3599 named private.h in other directories. (Probably only a problem on MacOS 9).
3602 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
3606 Changes the name of samples field of the SF_INFO to frames. The old name
3607 had caused too much confusion and it simply had to be changed. There will
3608 be at least one more pre-release.
3610 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3613 Updated formats matrix to include RAW (header-less) GSM 6.10.
3614 Fix specificaltion of table and spelling mistakes.
3616 * src/sndfile.c src/command.c
3617 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
3621 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
3624 Update version to 1.0.0rc5.
3627 Removed inclusion of un-necessary header.
3629 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3632 Minor fixes of info written to log buffer.
3635 Add definition of HAVE_LRINT_REPLACEMENT.
3637 * tests/floating_point_test.c
3638 Fix file hash check on systems without lrint/lrintf.
3641 Limit SNR to less than -500.0dB.
3643 * examples/sndfile2oct.c
3644 Fixed compiler warnings.
3647 Fixed error where last parameter of sf_error_str() was sf_count_t instead
3650 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3653 Why doesn't libsndfile do interleaving/de-interleaving.
3655 * tests/pcm_test.tpl
3656 On Win32 do not perform hash check on files containing doubles.
3658 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3661 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
3662 of type sf_count_t to their maximum positive value.
3664 * src/dwvw.c src/w64.c
3665 Used SF_COUNT_MAX_POSITIVE().
3667 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3670 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
3672 * tests/floating_point_tests.c
3673 Fixed hash values for 24 bit PCM PAF files.
3674 Disabled file has check if lrintf() function is not available and added
3676 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
3677 problems on platforms without lrintf() ie Solaris.
3679 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3682 Fixed a problem with two different kinds of mal-formed WAV file header. The
3683 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
3684 incomplete 'INFO' chunk at the end of the file.
3687 Added fix to allow differentiation between W64 files and ACID files.
3689 * src/au_g72x.c src/common.h src/sndfile.c
3690 Added error for G72x encoded files with more than one channel.
3692 * tests/pcm_test.tpl tests/utils.tpl
3693 Moved function check_file_hash_or_die() to utils.tpl. Function was then
3694 modified to calculate the has of the whole file.
3697 Fixed problem writing the 'fact' chunk on big endian systems.
3700 Fixed bug where .paf files were being written as Sphere NIST.
3702 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3705 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
3708 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
3710 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3712 * man/sndfile-info.1 man/sndfile-play.1
3713 Added manpages supplied by Joshua Haberman the Debian maintainer for
3714 libsndfile. Additional tweaks by me.
3716 * configure.in man/Makefile.am
3717 Hooked manpages into autoconf/automake system.
3720 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
3722 * tests/update_header_test.c
3723 Improved rigor of testing.
3726 Fixed problem with *_write_header() functions.
3728 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3731 Updates to documentation to fix problems found by wdg-html-validator.
3733 * src/common.h src/command.c
3734 Added normalize parameter to calls to psf_calc_signal_max() and
3735 psf_calc_max_all_channels().
3738 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
3739 SFC_CALC_NORM_MAX_ALL_CHANNELS.
3742 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
3744 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3746 * examples/sndfile-play.c Win32/Makefile.msvc
3747 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
3748 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
3751 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3754 New file for frequently asked questsions.
3756 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3759 Documentation fixes.
3761 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
3762 Add support of 40kbps G723 ADPCM encoding.
3764 * tests/lossy_comp_test.c tests/floating_point_test.c
3765 Add tests for 40kbps G723 ADPCM encoding.
3768 Update support matrix.
3770 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3773 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
3774 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
3776 * src/sndfile.c src/pcm.c
3777 Add ability to turn on and off the addition of a PEAK chunk for floating
3778 point WAV and AIFF files.
3780 * src/sndfile.[ch] src/common.h src/command.c
3781 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
3785 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
3787 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3789 * src/sndfile.c src/gsm610.c
3790 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
3791 encoded RAW (header-less) files.
3794 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
3797 Fixed more documentation bugs.
3799 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3801 * src/sndfile.h src/common.h
3802 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
3803 header file sndfile.h to the private header file common.h to avoid
3804 confusion about the actual capabilities of libsndfile.
3806 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3808 * src/aiff.c src/wav.c
3809 Fixed file parsing for WAV and AIFF files containing non-audio data after
3812 * src/aiff.c src/sndfile.c
3813 Add support for GSM 6.10 encoded AIFF files.
3815 * tests/lossy_comp_test.c tests/Makefile.am
3816 Add tests for GSM 6.10 encoded AIFF files.
3819 Fix compiler warnings.
3821 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3823 * tests/command_test.c
3824 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
3828 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
3829 from AIFF and WAV files with non-audio data after the audio chunk.
3832 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
3833 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
3834 moved to src/sndfile.h
3836 * src/aiff.c src/wav.c
3837 Begin implementation of XXXX_command() hook for sf_command().
3839 * tests/write_read_test.tpl
3840 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
3843 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3845 * tests/update_header_test.c
3846 Allow read sample count == write sample count - 1 to fix problems with VOC
3849 * tests/write_read_test.tpl tests/pcm_test.tpl
3850 Fixed some problems in the test suite discovered by using Valgrind.
3852 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3854 * tests/utils.[ch] tests/*.c
3855 Renamed check_log_buffer() to check_log_buffer_or_die().
3858 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
3859 for all file formats other than VOC.
3861 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3863 * src/sndfile.[ch] src/common.h
3864 Started adding functionality to allow the file header to be updated before
3865 the file is closed on files open for SFM_WRITE. This was requested by
3866 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
3868 * tests/update_header_test.c
3869 New test program to test that the above functionality is working correctly.
3871 * tests/peak_chunk_test.c tests/floating_point_test.c
3874 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3877 Changed length count parameters for all endswap_XXX() functions from
3878 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
3879 functions are only called frin inside the library, are always called with
3880 integer parameters and doing the actual calculation on 64 bit values is
3881 slow in comparision to doing it on ints.
3883 * examples/sndfile-play.c
3884 More playback hacking for Win32.
3886 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3889 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
3890 added %D specifier for printing the sf_count_t type.
3893 Changed all usage of psf_log_printf() with %D format conversion specifiers
3894 to use %M conversion instead.
3896 * tests/pcm_test.tpl tests/pcm_test.def
3897 New files to autogen pcm_test.c.
3900 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
3902 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3905 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
3908 * examples/sndfile-play.c
3909 Start adding playback support for Win32.
3911 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3914 Worked to removed compiler warnings.
3915 Extensive refactoring.
3918 Added function psf_memset() which works like the standard C function memset
3919 but takes and sf_count_t as the length parameter.
3922 Replaced calls to memset(0 with calls to psf_memset() as required.
3924 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3927 Added "libsndfile : " to the start of all error messages. This was suggested
3928 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
3931 Added endswap_XXXX_copy() functions.
3933 * src/pcm.c src/float32.c src/double64.c
3934 Use endswap_XXXX_copy() functions and removed dead code.
3935 Cleanups and optimisations.
3937 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3939 * src/sndfile.c src/sndfile.h
3940 Gave values to all the SFC_* enum values to allow better control of the
3941 interface as commands are added and removed.
3942 Added new command SFC_SET_ADD_PEAK_CHUNK.
3944 * src/wav.c src/aiff.c
3945 Modified wav_write_header and aiff_write_header to make addition of a PEAK
3946 chunk optional, even on floating point files.
3948 * tests/benchmark.tpl
3949 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
3950 PEAK chunk for the benchmark where we are trying to miximize speed.
3953 Changed tribyte typedef to something more sensible.
3954 Further conversion speed ups.
3956 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3959 In major_formats rename "Sphere NIST" to "NIST Sphere".
3961 * src/common.c src/sfendian.c
3962 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
3963 be tweaked to provide maximum performance. Since maximum performance on one
3964 platform does not guarantee maximum performance on another, a small set of
3965 functions will be written and the optimal one chosen at compile time.
3967 * src/common.h src/sfendian.h
3968 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
3971 Add sfendian.c to build targets.
3973 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3975 * src/pcm.c src/sfendian.h
3976 Re-coded PCM encoders and decoders to match or better the speed of
3977 libsndfile version 0.0.28.
3979 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3982 Add checking for WAVPACK data in standard PCM WAV file. Return error if
3983 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
3984 and then stores non-PCM data.
3986 * tests/benchmark.tpl
3989 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3991 * tests/benchmark.tpl
3992 Added conditional definition of M_PI.
3993 For Win32, set WRITE_PERMS to 0777.
3995 * Win32/Makefile.msvc
3996 Added target to make generate program on Win32.
3999 Removed handler for Samplitude RAP file format. This file type seems rarer
4000 than hens teeth and is completely undocumented.
4002 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
4003 Removed references to sampltiude RAP format.
4005 * tests/benchmark.tpl
4006 Benchmark program now prints the libsndfile version number when run. This
4007 program was also backported to version 0 to compare results. Version
4008 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
4009 some. The slow ones need to be fixed before final release.
4011 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4013 * tests/benchmark.def tests/benchmark.tpl
4014 New files which generate tests/benchmark.c using Autogen. Added int ->
4015 SF_FORMAT_PCM_24 test.
4018 Now and Autogen output file.
4021 Updated for above changes.
4023 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4026 Basic benchmark program complete. Need to convert it to Autogen.
4028 * Win32/Makefile.msvc
4029 Added benchmark.exe target.
4031 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4033 * examples/generate.c
4034 New program to generate a number of different output file formats from a
4035 single input file. This allows testing of the created files.
4038 New test program to benchmark libsndfile. Nowhere near complete yet.
4040 * examples/Makefile.am tests/Makefile.am
4041 New make rules for the two new programs.
4043 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4045 * Win32/libsndfile.def
4046 Removed definition for sf_signal_max().
4052 A number of documentation bugs were fixed. Thanks to Anand Kumria.
4054 * doc/version-1.html
4058 Bumped version to 1.0.0rc2.
4060 * src/sf_command.h src/Makefile.am
4061 Removed the header file as it was no longer being used. Thanks to Anand
4062 Kunria for spotting this.
4065 A number of documentation bugs were fixed. Thanks to Anand Kumria.
4067 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4070 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
4074 Win32 fixes to ensure O_BINARY is used for file open.
4077 New file documenting the building libsndfile on Win32.
4080 Updating of documentation.
4082 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4085 Minor changes to allow easier determination of test file name.
4088 Removed function sf_signal_max().
4090 * examples/sndfile-play.c
4091 Changed call to sf_signal_max() to a call to sf_command().
4093 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4095 * src/format.c src/command.c
4096 Renamed format.c to command.c which will now include code for sf_command()
4097 calls to perform operations other than format commands.
4099 * src/sndfile.c src/sndfile.h
4100 Removed function sf_get_signal_max() which is replaced by commands passed
4104 Implement commands SFC_CALC_SIGNAL_MAX.
4107 Documented SFC_CALC_SIGNAL_MAX.
4109 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4111 * examples/sndfile-play.c
4112 Mods to make sndfile-play work on Solaris. The program sndfile-play now
4113 runs on Linux, MaxOSX and Solaris. Win32 to come.
4116 Added SF_FORMAT_DWVW_* to subtype_formats array.
4119 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
4122 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4124 * examples/sndfile-info.c
4125 Tidy up of output format.
4127 * examnples/sndfile-play.c
4128 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
4131 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
4132 required to supply extra include paths and link parameters to get
4133 sndfile-play working on MacOSX.
4135 * examples/Makefile.am
4136 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
4139 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4142 Added ability to read/write new NIST Sphere file types (A-law, u-law).
4143 Header parser was re-written from scratch. Example files supplied by Anand
4147 Support for A-law and u-law NIST files.
4149 * tests/Makefile.am tests/lossy_comp_test.c
4150 Tests for A-law and u-law NIST files.
4152 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4155 Fixed an error in error string.
4157 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4160 Removed exit command to allow cross-compiling.
4162 * Win32/unistd.h src/file_io.c
4163 Moved contents of first file into the second file (enclosed in #ifdef).
4164 Win32/unistd.h is now an empty file but still must be there for libsndfile
4165 to compile on Win32.
4167 * src/sd2.c, src/sndfile.c:
4168 Fixes for Sound Designer II files on big endian systems.
4170 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4173 Modified to work around problems with crappy MacOSX version of sed.
4174 Added sanity check for proper values for CFLAGS.
4176 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4179 Code clean up in sf_open ().
4181 * Win32/Makefile.msvc
4182 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
4183 together in a new improved form.
4186 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
4187 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
4189 * src/common.h src/sndfile.c src/wav.c src/aiff.c
4190 Added SFE_LOG_OVERRUN error.
4191 Added termination for potential infinite loop when parsing file headers.
4193 * src/wav.c src/w64.c
4194 Fixed bug casuing incorrect header generation when opening file read/write.
4196 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4199 Improved the documentation to make it clearer that the file read method
4200 and the underlying file format are completely disconnected. Suggested
4204 Started correcting docs to take into account changes made to the
4205 operations of the sf_command () function. Not complete yet.
4208 Reverted some changes which had broken the partially working SDII header
4209 parsing. Now have access to an iBook with OS X so reading and writing SDII
4210 files on all platforms should be a reality in the near future. On Mac this
4211 will involve reading the resource fork via the standard MacOS API. To move
4212 a file from Mac to another OS, the resource and data forks will need to be
4213 combined before transfer. The combined file will be read on both Mac and
4214 other OSes like any other file.
4216 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4219 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
4220 which allows libsndfile to compile on MacOSX 10.1. This patch should not
4221 interfere with compiling on other OSes.
4223 * src/GSM610/private.h
4224 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
4227 Added MacOSX replacements for lrint() and lrintf().
4229 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4232 Replaced the code to print the filename to the log buffer when a file is
4233 opened. This code seems to have been left out during the merge of
4234 sf_open_read() and sf_open_write() to make a single functions sf_open().
4236 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4239 Fixed a bug where the WAV header parser was going into an infinite loop
4240 on a badly formed LIST chunk. File supplied by David Viens.
4242 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4245 Added a message at the end of the configuration process to warn about the
4246 need for the use of pkg-config when linking programs against version 1 of
4249 * doc/pkg-config.html
4250 New documentation file containing details of how to use pkg-config to
4251 retrieve settings for CFLAGS and library locations for linking files
4252 against version 1 of libsndfile.
4254 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4257 Fixed minor bug in handling of so-called ACIDized WAV files.
4259 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4261 * Win32/libsndfile.def Win32/Makefile.msvc
4262 Two new files contributed by Michael Fink (from the winLAME project)
4263 which allows libsndfile to be built on windows in a MSDOS box by doing
4264 "nmake -f Makefile.msvc". Way cool!
4266 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4269 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
4270 generate a tarball which will configure and compile on that platform.
4271 Joined the libtool mailing list to try and get some answers.
4273 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4276 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
4277 is incompatible with with version 2.13 which had been using until now.
4278 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
4279 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
4282 Changed to automake version 1.5 to try and make a tarball which will
4285 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4288 Changed name to gsm610.c. Added reading/writing of headerless files.
4290 * src/sndfile.c src/raw.c
4291 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
4293 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4295 * tests/lossy_comp_test.c
4296 Clean up in preparation for Autogen-ing this file.
4299 Code cleanup and prepartion forgetting file seek working. Details in
4300 src/GSM610/ChangeLog.
4303 Testing complete. Is sndfile.m4 still needed?
4305 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4307 * tests/write_read_test.tpl tests/rdwr_test.tpl
4308 Merged tests from these two programs into write_read_test.tpl and deleted
4311 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4313 * src/w64.c src/svx.c src/paf.c
4314 Fixed bugs in read/write mode.
4316 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4318 * examples/Makefile.am
4319 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
4320 consistency when these programs become part of the Debian package
4324 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
4325 model for providing installation parameters to dependant programs.
4328 Cleanup of code in sf_open().
4330 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4332 * tests/utils.tpl tests/write_read_test.tpl
4333 More conversion to Autogen fixes and enchancements.
4336 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
4337 bit float and 64 bit double data. More tests still required.
4340 Added DISTCLEANFILES target to remove config.status and config.last.
4342 * Win32/Makefile.am MacOS/Makefile.am
4343 Added DISTCLEANFILES target to remove Makefile.
4345 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4347 * src/*.[ch] tests/rdwr_test.c
4348 More verifying workings of read/write mode. Fixing bugs found.
4351 Made these files Autogen generated files.
4353 * tests/util.tpl tests/util.def
4354 New Autogen files to generate utils.[ch]. Moved some generic test functions
4355 into this file. Autogen is such a great tool!
4357 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4359 * src/pcm.c src/float_cast.h Win32/config.h
4360 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
4361 (maintainer of WinLAME) and David Viens.
4363 * tests/check_log_buffer.[ch] tests/utils.[ch]
4364 Moved check_log_buffer() to utils.[ch] and deleted old file.
4366 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4368 * src/common.[ch] src/sndfile.c
4369 New function psf_default_seek() which will be the default seek function
4370 for things like PCM and floating point data. This default is set for
4371 both read and write in sf_open() but can be over-ridden by any codec
4372 during it's initialisation.
4374 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4377 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
4378 to allow opening files like this.
4380 * tests/rdwr_test .c
4384 Fixed bugs in read/write mode found due to improvements in the test
4387 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4389 * tests/rdwr_test .c
4390 New file for testing read/write mode.
4392 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4395 Removed all m4 macros from this directory as they get concatenated to form
4396 the file aclocal.m4 anyway.
4399 Moved this from the m4 directory to the root directory asn this is part of
4400 the distribution and is installed during "make install".
4402 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4405 Removed logging of peaks for all file formats other than AIFF and WAV.
4407 * tests/write_read_test.tpl tests/write_read_test.def
4408 New files which autogen uses to generate write_read_test.c. Doing it this
4409 way makes write_read_test.c far easier to maintain. Other test programs
4410 will be converted to autogen in the near future.
4413 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
4415 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4418 Fixed documention versioning.
4421 Fixed a bug in the routines which search for Large File Support on systems
4422 which have large file support by defualt.
4424 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4427 Found and fixed an issue which can cause a bug in other software (I was
4428 porting Conrad Parker's Sweep program from version 0 of the library to
4429 version 1). When opening a file for write, the libsndfile code would
4430 set the sfinfo.samples field to a maximum value.
4432 * tests/write_read_test.c
4433 Added tests to detect the above problem.
4435 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4438 Finished base implementation of read/write mode. Much more testing still
4442 Macro for detecting Large File Standard capabilities. This macro was ripped
4443 out of the aclocal.m4 file of GNU tar-1.13.
4446 Added detection of large file support. Files larger than 2 Gigabytes should
4447 now be supported on 64 bit platforms and many 32 bit platforms including
4448 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
4450 * libsndfile_convert_version.py
4451 A Python script which attempts to autoconvert code written to use version 0
4454 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4457 Finished base implementation of read/write mode. Much more testing still
4460 * tests/write_read_test.c
4461 Preliminary tests for read/write mode added. More needed.
4463 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4466 Removed sf_open_read() and sf_open_write() functions,replacting them with
4467 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
4468 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
4469 opening a file formodification (RDWR).
4471 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4474 Completed merging of separate xxx_open_read() and xxx_open_write()
4475 functions. All tests pass.
4477 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4480 Massive refactoring required to merge au_open_read() with au_open_write()
4481 to create au_open().
4483 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4486 Started changes required to allow a sound file to be opened in read/write
4487 mode, with separate file pointers for read and write. This involves merging
4488 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
4489 int a new function pcm_init() as well as doing something similar for all
4490 the file type specific functions ie aiff_open_read() and aiff_open_write()
4491 were merged to make the function aiff_open().
4493 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4496 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
4497 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
4498 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
4499 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
4502 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
4503 with psf_write and so on.
4505 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4508 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
4510 * tests/floating_point_test.c
4511 Added tests for 12, 16 and 24 bit DWVW encoding.
4513 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4516 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
4517 the target CPU. It first checks for the definition of BYTE_ORDER in
4518 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
4519 and the C compiler is not a cross compiler it compiles and runs a program
4520 to test for endian-ness. If the compiler is a cross compiler it makes a
4521 guess based on $target_cpu.
4524 Modified to use AC_C_FIND_ENDIAN.
4529 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4531 * tests/floating_point_test.c
4532 Tests completely rewritten using the dft_cmp function. Now able to
4533 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
4535 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4537 * tests/dft_cmp.[ch]
4538 New files containing functions for comparing pre and post lossily
4539 compressed data using a quickly hacked DFT.
4542 New files containing functions for saving pre and post encoded data in a
4543 file readable by the GNU Octave package.
4545 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4547 * m4/lrint.m4 m4/lrintf.m4
4548 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
4551 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4553 * tests/floating_point_test.c
4554 Fixed improper use of strncat ().
4556 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4558 * tests/headerless_test.c
4559 New test program to test the ability to open and read a known file type as a
4560 RAW header-less file.
4562 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4564 * tests/losy_comp_test.c
4565 Added a test to ensure that the data read from a file is not all zeros.
4567 * examples/sfconvert.c
4568 Added "-gsm610" encoding types.
4570 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4572 * examples/sfconvert.c
4573 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
4576 New file for testing DWVW encoder/decoder.
4578 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4581 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
4584 Improved reporting of encoding types.
4589 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4592 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
4593 Reading 12 bit DWVW is now working.
4595 * src/aiff.c common.h sndfile.c
4596 Added hooks for DWVW encoded AIFF and RAW files.
4598 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4601 Robustify header parsing.
4604 Header file wav.h was renamed to wav_w64.h to signify sharing of
4605 definitions across the two file types.
4607 * src/wav.c src/w64.c src/wav_w64.c
4609 Modified and moved functions with a high degree of similarity between
4610 wav.c and w64.c to wav_w64.c.
4612 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4615 Completed work on getting read and write working.
4618 Added code to scale floating point data so it plays at a reasonable volume.
4620 * tests/Makefile.am tests/write_read_test.c
4621 Added tests for W64 files.
4623 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4626 Modded all code in file header writing routines to use
4627 psf_new_binheader_writef().
4628 Removed psf_binheader_writef() from src/common.c.
4629 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
4631 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4634 Modded all code in file parsing routines to use psf_new_binheader_readf().
4635 Removed psf_binheader_readf() from src/common.c.
4636 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
4639 Added new function psf_new_binheader_writef () which will soon replace
4640 psf_binheader_writef (). The new function has basically the same function
4641 as the original but has a more flexible and capable interface. It also
4642 allows the writing of 64 bit integer values for files contains 64 bit file
4645 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4647 * src/formats.c src/sndfile.c src/sndfile.h
4648 Added code allowing full enumeration of supported file formats via the
4649 sf_command () interface.
4650 This feature will allow applications to avoid needing recompilation when
4651 support for new file formats are added to libsndfile.
4653 * tests/command_test.c
4654 Added test code for the above feature.
4656 * examples/list_formats.c
4657 New file. An example of the use of the supported file enumeration
4658 interface. This program lists all the major formats and for each major
4659 format the supported subformats.
4661 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4663 * src/*.[ch] tests/*.c
4664 Changed command parameter of sf_command () function from a test string to
4665 an int. The valid values for the command parameter begin with SFC_ and are
4666 listed in src/sndfile.h.
4668 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4670 * src/formats.c src/sndfile.c
4671 Added an way of enumerating a set of common file formats using the
4672 sf_command () interface. This interface was suggested by Dominic Mazzoni,
4673 one of the main authors of Audacity (http://audacity.sourceforge.net/).
4675 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4678 Added checking of filename parameter in sf_open_read (). Previousy, if a
4679 NULL pointer was passed the library would segfault.
4681 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4683 * src/common.c src/common.h
4684 Changed the len parameter of the endswap_*_array () functions from type
4688 Fixed a problem which
4690 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4693 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
4694 Paul Hartman for pointing this out.
4696 * tests/lossy_comp_test.c tests/floating_point_test.c
4697 Added definitions for M_PI for when it isn't defined in <math.h>.
4699 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4702 Re-implemented the header reader. Old version was making incorrect
4703 assumptions about the endian-ness of the file from the magic number at the
4704 start of the file. The new code looks at the integer which holds the
4705 number of channels and determines the endian-ness from that.
4707 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4710 Added support for other AIFC types ('raw ', 'in32', '23ni').
4711 Further work on IMA ADPCM encoding.
4713 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4716 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
4717 encodings for both WAV and AIFF files.
4720 Started adding IMA ADPCM support.
4722 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4725 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
4728 * src/wav.c src/aiff.c src/au.c src/raw.c
4729 Added support for SF_FORMAT_DOUBLE data.
4732 Addition of endswap_long_array () for endian swapping 64 bit integers. This
4733 function will work correctly on processors with 32 bit and 64 bit longs.
4734 Optimised endswap_short_array () and endswap_int_array ().
4737 Added and extra check. After the first file of each type is written to disk
4738 a checksum is performed of the first 64 bytes and checked against a pre-
4739 calculated value. This will work whatever the endian-ness of the host
4742 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4745 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
4746 supplying example files.
4748 * tests/lossy_comp_test.c
4749 Added tests for above.
4751 * src/common.h src/*.c
4752 Removed function typedefs from common.h and function pointer casting in all
4753 the other files. This allows the compiler to perform proper type checking.
4754 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
4758 Added new function psf_new_binheader_readf () which will eventually replace
4759 psf_binheader_readf (). The new function has basically the same function as
4760 the original but has a more flexible and capable interface. It also allows
4761 the reading of 64 bit integer values for files contains 64 bit file
4764 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4767 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
4768 PCM, u-law and A-law files with one or two channels.
4770 * src/write_read_test.c tests/lossy_comp_test.c
4771 Added tests for VOC files.
4773 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4776 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
4780 More work on this braindamaged format. The VOC files produced by SoX also
4781 have a number of inconsistencies.
4783 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4786 Added support for 8 bit PCM PAF files.
4788 * tests/write_read_test.c
4789 Added tests for 8 bit PAF files.
4791 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4794 New test program to test for correct scaling of integer values between
4795 different sized integer containers (ie short -> int).
4796 The new specs for libsndfile state that when the source and destination
4797 containers are of a different size, the most significant bit of the source
4798 value becomes the most significant bit of the destination container.
4800 * src/pcm.c src/paf.c
4801 Modified to pass the above test program.
4803 * tests/write_read_test.c tests/lossy_comp_test.c
4804 Modified to work with the new scaling rules.
4806 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4808 * src/raw.c tests/write_read_test.c tests/write_read_test.c
4809 Added ability to do raw reads/writes of float, u-law and A-law files.
4811 * src/*.[ch] examples/*.[ch] tests/*.[ch]
4812 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
4813 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
4815 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4818 Started implmentation of major changes documented in doc/version1.html.
4820 Removed all usage of off_t which is not part of the ISO C standard. All
4821 places which were using it are now using type long which is the type of
4822 the offset parameter for the fseek function.
4823 This should fix problems on BeOS, MacOS and *BSD like systems which were
4824 failing "make check" because sizeof (long) != sizeof (off_t).
4826 --------------------------------------------------------------------------------
4827 This is the boundary between version 1 of the library above and version 0 below.
4828 --------------------------------------------------------------------------------
4830 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4832 * examples/sfplay_beos.cpp
4833 Added BeOS version of sfplay.c. This needs to be compiled using a C++
4834 compiler so is therefore not built by default. Thanks to Marcus Overhagen
4837 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4840 New example file showing how libsndfile can be used to read and play a
4842 At the moment on Linux is supported. Others will follow in the near future.
4844 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4847 Fixed problem with normalisation code where a value of 1.0 could map to
4848 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
4851 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4854 Fixed scaling issue when reading/writing 8 bit files using
4855 sf_read/sf_write_short ().
4856 On read, values are scaled so that the most significant bit in the char
4857 ends up in the most significant bit of the short. On write, values are
4858 scaled so that most significant bit in the short ends up as the most
4859 significant bit in the char.
4861 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4863 * src/au.c src/sndfile.c
4864 Added support for 32 bit float data in big and little endian AU files.
4866 * tests/write_read_test.c
4867 Added tests for 32 bit float data in AU files.
4869 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4871 * tests/lossy_comp_test.c
4872 Finalised testing of stereo files where possible.
4874 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4876 * src/wav_ms_adpcm.c
4877 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
4878 pointing out this problem.
4880 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4882 * src/wav_ms_adpcm.c
4883 Modified function srate2blocksize () to handle 44k1Hz stereo files.
4885 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4888 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
4889 development platform) does not yet support 64 bit file offsets by default,
4890 current handling of this file format treats everything as 32 bit and fails
4891 openning the file, if it finds anything that goes beyond 32 bit values.
4893 * src/sndfile.[hc] src/common.h src/Makefile.am
4894 Added hooks for W64 support.
4896 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4899 Added more warnings options to CFLAGS when the gcc compiler is detected.
4901 * src/*.[ch] tests/*.c examples/*.c
4902 Started fixing the warning messages due to the new CFLASG.
4905 More work on VOC file read/writing.
4908 Found that PAF files were not checking the normalisation flag when reading
4909 or writing floats and doubles. Fixed it.
4911 * tests/floating_point_test.c
4912 Added specific test for the above problem.
4914 * src/float_cast.h src/pcm.c
4915 Added a section for Win32 to define lrint () and lrintf () in the header
4916 and implement it in the pcm.c
4918 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4920 * sndfile-config.in m4/sndfile.m4
4921 These files were donated by Conrad Parker who also provided instructions
4922 on how to install them using autoconf/automake.
4925 Fiddled around with this file some more. On Linux and other gcc supported
4926 OSes use the C99 functions lrintf() and lrint() for casting from floating
4927 point to int without incurring the huge perfromance penalty (particularly
4928 on the i386 family) caused by the regular C cast from float to int.
4929 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
4930 I had been playing with.
4932 * configure.in m4/lrint.m4 m4/lrintf.m4
4933 Add detection of these functions.
4935 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4938 Completed code for reading VOC files containing a single audio data
4940 Started implementing code to handle files with multiple VOC_SOUND_DATA
4941 segments but couldn't be bothered finishing it. Multiple segment files can
4942 have different sample rates for different sections and other nasties like
4943 silence and repeat segments.
4945 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4947 * src/common.h src/*.c
4948 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
4951 Further development of the read part of this woefult file format.
4953 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4956 Implemented gcc and i386 floating point to int cast macros. Standard cast
4957 will be used when not on gcc for i385.
4960 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
4961 comply with macros in float_cast.h.
4963 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4966 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
4967 on MacOS with CodeWarrior 6.0.
4969 * MacOS/MacOS-readme.txt
4970 Updated the compile instructions. Probably still need work as I don't have
4973 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4975 * src/wav.c src/aiff.c common.c
4976 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
4977 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
4980 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
4981 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
4984 New file containing a minimal implementation of snprintf and vsnprintf
4985 functions named missing_snprintf and missing_vsnprintf respectively. These
4986 are only compliled into the binary if snprintf and/or vsnprintf are not
4989 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4992 New file to handle Berkeley/IRCAM/CARL files.
4994 * src/sndfile.c src/common.h
4995 Modified for IRCAM handling.
4998 Added tests for IRCAM files.
5000 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5003 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
5004 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
5005 header writing code to generate smaller ms compliant ulaw and Alaw WAV
5008 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5010 * tests/stdio_test.sh tests/stdio_test.c
5011 Shell script was rewritten as a C program due to incompatibilities of the
5012 sh shell on Linux and Solaris.
5014 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5016 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
5017 New test programs to verify the correct operation of reading from stdin and
5020 * src/sndfile.c wav.c au.c nist.c paf.c
5021 Fixed a bugs uncovered by the new test programs above.
5023 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5025 * src/sndfile.c wav.c
5026 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
5028 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5031 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
5032 WAV files. Root cause was the declaration of the func_seek typedef not
5033 matching the functions it was actually being used to point to. In OpenBSD
5034 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
5035 to log into his OpenBSD machine to debug this problem.
5037 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5040 Implemented sf_command ("norm float").
5043 Implemented handling of sf_command ("set-norm-float"). Float normalization
5044 can now be turned on and off.
5046 * tests/double_test.c
5047 Renamed to floating_point_test.c. Modified to include tests for all scaled
5048 reads and writes of floats and doubles.
5051 Fixed bug in normalization code found with improved floating_point_test
5055 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
5056 text annotations from WAV files.
5059 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
5060 text annotations from WAV files.
5062 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5064 * examples/sf_info.c example/Makefile.am
5065 Renamed to sndfile_info.c. The program sndfile_info will now be installed
5066 when the library is installed.
5069 New file defining floating point to short and int casts. These casts will
5070 eventually replace all flot and double casts to short and int. See comments
5071 at the top of the file for the reasoning.
5074 Changed all default float and double casts to short or int with macros
5075 defined in floatcast.h. At the moment these casts do nothing. They will be
5076 replaced with faster float to int cast operations in the near future.
5078 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5080 * tests/command_test.c
5081 New file for testing sf_command () functionality.
5084 Revisiting of error return values of some functions.
5085 Started implementing sf_command () a new function will allow on-the-fly
5086 modification of library behaviour, or instance, sample value scaling.
5089 Added hook for format specific sf_command () calls to SNDFILE struct.
5092 Updated and errors corrected.
5095 New documentation file explaining new sf_command () function.
5097 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5100 Fixed error return values from sf_read*() and sf_write*(). There were
5101 numerous instances of -1 being returned through size_t. These now all set
5102 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
5105 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5108 Fixed use of va_arg() calls that were causing warning messages with the
5109 latest version of gcc (thanks Maurizio Umberto Puxeddu).
5111 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5113 * src/*.c src/sfendian.h
5114 Moved definition of MAKE_MARKER macro to sfendian.h
5116 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5119 Modified sf_get_lib_version () so that version string will be visible using
5120 the Unix strings command.
5122 * examples/Makefile.am examples/sfinfo.c
5123 Renamed sfinfo program and source code to sf_info. This prevents a name
5124 clash with the program included with libaudiofile.
5126 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5128 * tests/read_seek_test.c tests/lossy_comp_test.c
5129 Added tests for sf_read_float () and sf_readf_float ().
5132 New files for handling Creative Voice files (not complete).
5135 New files for handling Samplitude files (not complete).
5137 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5139 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
5140 Converted these files to using psf_binheader_readf() function. Will soon be
5141 ready to attempt to make reading writing from pipes work reliably.
5144 Added code for sf_read_float () and sf_readf_float () methods of accessing
5147 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5149 * src/paf.c src/wav_gsm610.c
5150 Removed two printf()s which had escaped notice for some time (thanks
5153 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5156 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
5157 libsndfile from being played in Windoze (thanks klay).
5159 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5162 Implemented psf_binheader_readf() which will do for file header reading what
5163 psf_binheader_writef() did for writing headers. Will eventually allow
5164 libsndfile to read and write from pipes, including named pipes.
5166 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5168 * MacOS/config.h Win32/config.h
5169 Attempted to bring these two files uptodate with src/config.h. As I don't
5170 have access to either of these systems support for them may be completely
5173 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5176 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
5177 tested on Intel x86 and UltraSparc processors.
5179 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5182 Modified to allow REX files (from Propellorhead's Recycle and Reason
5183 programs) to be read.
5184 REX files are basically an AIFF file with slightly unusual sequence of
5185 chunks (AIFF files are supposed to allow any sequence) and some extra
5186 application specific information.
5187 Not yet able to write a REX file as the details of the application specific
5190 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5193 Fixed endian bug when reading PEAK chunk on big endian machines.
5196 Fixed endian bug when reading PEAK chunk on big endian machines with
5197 --enable-force-broken-float configure option.
5198 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
5200 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5202 * configure.in src/config.h.in
5203 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
5204 capabilities are detected at run time.
5205 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
5206 where the processor can in fact handle floats correctly.
5209 Rejigged code reading and writing of floats on broken processors.
5212 Removed this directory and all its files as they are no longer needed.
5214 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5216 * tests/peak_chunk_test.c
5217 New test to validate reading and writing of peak chunk.
5219 * examples/sfconvert
5220 Added -float32 option.
5223 Changed all error return values to negative values (ie the negative of what
5226 * src/sndfile.c tests/error_test.c
5227 Modified to take account of the previous change.
5229 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5232 File renamed from wav_float.c and renamed function to something more
5234 Added runtime detection of floating point capabilities.
5235 Added recording of peaks during write for generation of PEAK chunk.
5237 * src/wav.c src/aiff.c
5238 Added handing for PEAK chunk for floating point files. PEAK is read when the
5239 file headers are read and generated when the file is closed. Logic is in
5240 place for adding PEAK chunk to end of file when writing to a pipe (reading
5241 and writing from/to pipe to be implemented soon).
5244 Modified sf_signal_max () to use PEAK values if present.
5246 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5249 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
5250 other calls to functions in this file from the filetype specific files.
5253 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
5254 ulaw_write_init () and removed all other calls to functions in alaw.c and
5255 ulaw.c from the filetype specific files.
5257 * tests/write_read_test.c
5258 Added tests to validate sf_seek () on all file types.
5261 Implemented raw_seek () function to fix a bug where
5262 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
5265 Fixed a bug in paf24_seek () found due to added seeks tests in
5266 tests/write_read_test.c
5268 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5270 * tests/read_seek_test.c
5271 Fixed a couple of broken binary files.
5273 * src/aiff.c src/wav.c
5274 Added handling of PEAK chunks on file read.
5276 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5278 * check_libsndfile.py
5279 New file for the regression testing of libsndfile.
5280 check_libsndfile.py is a Python script which reads in a file containing
5281 filenames of audio files. Each file is checked by running the examples/sfinfo
5282 program on them and checking for error or warning messages in the libsndfile
5285 * check_libsndfile.list
5286 This is an example list of audio files for use with check_libsndfile.py
5288 * tests/lossy_comp_test.c
5289 Changed the defined value of M_PI for math header files which don't have it.
5290 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
5291 Praetor Satanus of Acheron for bringing this to my attention.
5293 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5296 Removed psf_header_setf () which was no longer required after refactoring
5297 and simplification of header writing.
5298 Added 'z' format specifier to psf_binheader_writef () for zero filling header
5299 with N bytes. Used by paf.c and nist.c
5301 * tests/check_log_buffer.c
5302 New file implementing check_log_buffer () which reads the log buffer of a
5303 SNDFILE* object and searches for error and warning messages. Calls exit ()
5307 Added calls to check_log_buffer () after each call to sf_open_XXX ().
5309 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5311 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
5312 Major rehack of header writing using psf_binheader_writef ().
5314 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5316 * src/wav.c src/wav_ima_adpcm.c
5317 Major rehack of header writing using psf_binheader_writef ().
5319 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5322 Changed return type of get_encoding_str () to prevent compiler warnings on
5325 * src/aiff.c src/au.c
5326 Major rehack of header writing using psf_binheader_writef ().
5328 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5330 * src/common.h src/common.c
5332 Name of log buffer changed from strbuffer to logbuffer.
5333 Name of log buffer index variable changed from strindex to logindex.
5336 Changed name of internal logging function from psf_sprintf () to
5338 Changed name of internal header generation functions from
5339 psf_[ab]h_printf () to psf_asciiheader_printf () and
5340 psf_binheader_writef ().
5341 Changed name of internal header manipulation function psf_hsetf () to
5344 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5347 Fixed reading and writing of sample_byte_format header. "01" means little
5348 endian and "10" means big endian regardless of bit width.
5351 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
5352 way screwed up and spews out buckets of warning messages from the system
5354 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
5356 Made decision to harmonise source code version number and .so library
5357 version number. Future releases will stick to this rule.
5359 * doc/new_file_type.HOWTO
5360 New file to document the addition of new file types to libsndfile.
5362 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5365 New file for reading/writing Sphere NIST audio file format.
5366 Originally requested by Elis Pomales in 1999.
5367 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
5368 Some vital information gleaned from the source code to Bill Schottstaedt's
5369 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
5370 Currently reading and writing 16, 24 and 32 bit, big-endian and little
5371 endian, stereo and mono files.
5373 * src/common.h src/common.c
5374 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
5377 Added test for vsnprintf () required by psf_ah_printf ().
5379 * tests/write_read_test.c
5380 Added tests for supported NIST files.
5382 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5384 * tests/write_read_test.c
5385 Added tests for little endian AIFC files.
5388 Minor re-working of aiff_open_write ().
5389 Added write support for little endian PCM encoded AIFC files.
5391 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5394 Minor re-working of aiff_open_read ().
5395 Added read support for little endian PCM encoded AIFC files from the Mac
5396 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
5397 and a working patch.
5398 The patch was not used as is but gave a good guide as to what to do.
5400 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5403 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
5404 pointed out the error.
5406 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5408 * examples/make_sine.c
5409 Re-write of this example using sample rate and required frequency in Hz.
5411 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5414 Fixed bug that prevented known file types from being read as RAW PCM data.
5416 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5419 Added handing of COMT chunk.
5421 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5423 * examples/sfconvert.c
5424 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
5426 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5429 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
5431 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5434 Added -lm for write_read_test_LDADD.
5436 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5438 * src/sndfile.c src/au.c
5439 Fixed bug which prevented writing of G723 24kbps AU files.
5441 * tests/lossy_comp_test.c
5442 Corrrection to options for G723 tests.
5445 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
5446 doesn't allow gcc -pipe option.
5448 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5450 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
5451 Fixed normailsation bugs shown up by new double_test program.
5453 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5456 Fixed bug in normalisation code (spotted by Steve Lhomme).
5458 * tests/double_test.c
5459 New file to test scaled and unscaled sf_read_double() and sf_write_double()
5462 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5465 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
5467 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5470 Removed prototype of unimplemented function sf_get_info(). Added prototype
5471 for sf_error_number() Thanks to Sigbj�rn Skj�ret for spotting these.
5473 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5476 New file to contain a complete rewrite of the PCM data handling.
5478 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5481 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbj�rn
5482 Skj�ret for spotting this one.
5484 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5486 * src/au_g72x.c src/G72x/g72x.c
5487 Added G723 encoded AU file support.
5489 * tests/lossy_comp_test.c
5490 Added tests for G721 and G723 encoded AU files.
5492 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5495 Changed the license to LGPL. Albert Faber who had copyright on
5496 Win32/unistd.h gave his permission to change the license on that file. All
5497 other files were either copyright erikd AT mega-nerd DOT com or copyright
5498 under a GPL/LGPL compatible license.
5500 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5502 * tests/lossy_comp_test.c
5503 Fixed incorrect error message.
5505 * src/au_g72x.c src/G72x/*
5506 G721 encoded AU files now working.
5508 * Win32/README-Win32.txt
5509 Replaced this file with a new one which gives a full explanation
5510 of how to build libsndfile under Win32. Thanks to Mike Ricos.
5512 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5515 Removed double leading underscores from the start of all variable and
5516 function names. Identifiers with a leading underscores are reserved
5517 for use by the compiler.
5519 * src/au_g72x.c src/G72x/*
5520 Continued work on G721 encoded AU files.
5522 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5525 New files for reading/writing G721 and G723 ADPCM audio. These files
5526 are from a Sun Microsystems reference implementation released under a
5527 free software licence.
5528 Extensive changes to this code to make it fit in with libsndfile.
5529 See the ChangeLog in this directory for details.
5532 New file for G721 encoded AU files.
5534 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5536 * libsndfile.spec.in
5537 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
5539 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5541 * src/sndfile.c src/sndfile.h
5542 Add checking for and handling of header-less u-law encoded AU/SND files.
5543 Any file with a ".au" or ".snd" file extension and without the normal
5544 AU file header is treated as an 8kHz, u-law encoded file.
5547 New function for opening a headerless u-law encoded file for read.
5549 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5552 Add checking for files shorter than minimal PAF file header length.
5554 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5556 * tests/write_read_test.c
5557 Added extra sf_perror() calls when sf_write_XXXX fails.
5559 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5562 Modified usage of va_arg() macro to work correctly on PowerPC
5563 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
5564 machine while I was trying to track this down.
5566 * configure.in src/*.[ch]
5567 Sorted out some endian-ness issues brought up by PowerPC Linux.
5569 * tests/read_seek_test.c
5570 Added extra debugging for when tests fail.
5572 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5575 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
5576 to Sigbj�rn Skj�ret for reporting this.
5578 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5580 * src/sndfile.c src/wav.c src/wav_gsm610.c
5581 Finallised writing of GSM 6.10 WAV files.
5583 * tests/lossy_comp_test.c
5584 Wrote new test code for GSM 6.10 files.
5587 Fixed incorrect format in printf() statement.
5589 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5592 Fixed comments about sf_perror () and sf_error_str ().
5594 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5597 Fixed --enable-justsrc option.
5599 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5602 Fixed checking of bytespersec field of header. Still some weirdness
5605 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5607 * tests/lossy_comp_test.c
5608 Added option to test PCM WAV files (sanity check).
5609 Fixed bug in sf_seek() tests.
5611 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5613 * src/sndfile.c src/wav.c
5614 Minor changes to allow writing of GSM 6.10 WAV files.
5616 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5618 * configure.in Makefile.am src/Makefile.am
5619 Finally got around to figuring out how to build a single library from
5620 multiple source directories.
5621 Reading GSM 6.10 files now seems to work.
5623 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5626 Added more error reporting in read_fmt_chunk().
5628 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5631 Modified program to accept multiple filenames from the command line.
5633 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5635 * src/wav_ima_adpcm.c
5636 Moved code around in preparation to adding ability to read/write IMA ADPCM
5639 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5642 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
5643 causing seg. faults on Sparc Solaris.
5645 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5648 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
5651 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
5654 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5657 Fixed handling of incorrect size field in AU header on read. Thanks to
5658 Christoph Lauer for finding this problem.
5660 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5663 Fixed a bug with incorrect SSND chunk length being written. This also lead
5664 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
5667 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5670 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
5671 came to light when implementing tests for the new functions which operate
5672 in terms of frames rather than items.
5674 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5677 Modified file type detection to use first 12 bytes of file rather than
5678 file name extension. Required this because NIST files use the same
5679 filename extension as Microsoft WAV files.
5681 * src/sndfile.c src/sndfile.h
5682 Added short, int and double read/write functions which work in frames
5683 rather than items. This was originally suggested by Maurizio Umberto
5686 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5689 Finished off implementation of write using __psf_hprintf().
5691 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5694 Added a buffer to SF_PRIVATE for writing the header. This is required
5695 to make generating headers for IFF/SVX files easier as well as making
5696 it easier to do re-write the headers which will be required when
5697 sf_rewrite_header() is implemented.
5700 Implemented __psf_hprintf() function. This is an internal function
5701 which is documented briefly just above the code.
5703 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5706 Fixed a bug in sf_write_raw() where it was returning incorrect values
5707 (thanks to Richard Dobson for finding this one). Must put in a test
5708 routine for sf_read_raw and sf_write_raw.
5711 Fixed default FORMsize in __aiff_open_write ().
5714 Added copy of filename to internal data structure. IFF/SVX files
5715 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
5716 copy the file name (less the leading path information) to the
5720 Started implementing writing of files.
5722 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5725 New file for reading/writing 8SVX and 16SVX files.
5727 * src/sndfile.[ch] src/common.h
5728 Changes for SVX files.
5731 Fixed header parsing when unknown chunk is found.
5733 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5736 New file for reading/writing Ensoniq PARIS audio file format.
5738 * src/sndfile.[ch] src/common.h
5739 Changes for PAF files.
5742 Added stuff for sf_get_lib_version() function.
5745 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5747 * src/sndfile.h MacOS/config.h
5748 Fixed minor MacOS configuration issues.
5750 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5753 Added a new directory for the MacOS config.h file and the
5757 Fixed calculation of datalength when reading SSND chunk. Thanks to
5758 Sigbj�rn Skj�ret for pointing out this error.
5760 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5762 * src/sndfile.c src/sndfile.h src/raw.c
5763 Further fixing of #includes for MacOS.
5765 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5767 * src/wav.c src/aiff.c
5768 Added call to ferror () in main header parsing loop of __XXX_open_read
5769 functions. This should fix problems on platforms (MacOS, AmigaOS) where
5770 fseek()ing or fread()ing beyond the end of the file puts the FILE*
5771 stream in an error state until clearerr() is called.
5773 * tests/write_read_test.c
5774 Added tests for RAW header-less PCM files.
5777 Moved definition of struct tribyte to pcm.c which is the only place
5781 Modified all code which assumed sizeof (struct tribyte) == 3. This code
5782 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
5785 Removed <sys/stat.h> from list of #includes (not being used).
5788 Added MacOS specific #ifdef to replace <sys/stat.h>.
5791 Added MacOS specific #ifdef to replace <sys/stat.h>.
5794 Added MacOS specific typedef for off_t.
5797 New file with instructions for building libsndfile under MacOS. Thanks
5798 to Ben "Jacobs" for supplying these instructions.
5800 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5803 Removed sndfile.h from generated file list as there were no longer
5804 any autoconf substitutions being made.
5807 New file for handling raw header-less PCM files. In order to open these
5808 for read, the user must specify format, pcmbitwidth and channels in the
5809 SF_INFO struct when calling sf_open_read ().
5812 Added support for raw header-less PCM files.
5814 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5817 Removed options so the sfinfo program always prints out all the information.
5819 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5822 New file for A-law encoding (similar to u-law).
5825 New test program to test the A-law encode/decode lookup tables.
5827 * tests/lossy_comp_test.c
5828 Added tests for a-law encoded WAV, AU and AULE files.
5830 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5832 * src/sndfile.c src/au.c
5833 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
5836 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5839 New test program to test the u-law encode/decode lookup tables.
5841 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5844 Made corrections to comments on the return values from sf_seek ().
5847 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
5849 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5851 * src/au.c src/ulaw.c
5852 Finished implementation of u-law encoded AU files.
5855 Implemented reading and writing of u-law encoded WAV files.
5858 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
5859 will now be used to test Ulaw and Alaw encoding as well as APDCM.
5860 Added tests for Ulaw encoded WAV files.
5862 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5864 * tests/adpcm_test.c
5865 Initialised amp variable in gen_signal() to remove compiler warning.
5867 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5870 In __aiff_open_read () prevented fseek()ing beyond end of file which
5871 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
5872 Ben "Jacobs" for pointing this out.
5875 Fixed as above in __wav_open_read ().
5877 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5879 * src/wav_ms_adpcm.c
5880 Implemented MS ADPCM encoding. Code cleanup of decoder.
5882 * tests/adpcm_test.c
5883 Added tests for MS ADPCM WAV files.
5885 * src/wav_ima_adpcm.c
5886 Fixed incorrect parameter in call to srate2blocksize () from
5887 __ima_writer_init ().
5889 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5891 * tests/read_seek_test.c
5892 Added test for 8 bit AIFF files.
5894 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5896 * tests/write_read_test.c
5897 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
5900 Added -Wconversion to CFLAGS.
5902 * src/*.c tests/*.c examples/*.c
5903 Fixed all warnings resulting from use of -Wconversion.
5905 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5908 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
5912 Changed block alignment to be dependant on sample rate. This should make
5913 WAV files created with libsndfile compatible with the MS Windows media
5916 * tests/adpcm_test.c
5917 Reimplemented adpcm_test_short and implemented adpcm_test_int and
5919 Now have full testing of IMA ADPCM WAV file read, write and seek.
5921 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5924 Fixed function prototype for x86f2d_array () which was causing ocassional
5925 seg. faults on Sparc Solaris machines.
5927 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5930 Fixed bug in __aiff_close where the length fields in the header were
5931 not being correctly calculated before writing.
5933 * tests/write_read_test.c
5934 Modified to detect the above bug in WAV, AIFF and AU files.
5936 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5939 Added a contribution from Albert Faber to allow libsndfile to compile
5940 under Win32 systems. libsndfile will now be used as part of LAME the
5941 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
5943 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5946 Changed to reflect previous changes.
5948 * src/wav_ima_adpcm.c
5949 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
5951 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
5952 to write test code for this.
5954 Fixed bug in __ima_write () whereby the length of the current block was
5955 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
5957 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5960 Changed all read/write/lseek function calls to fread/fwrite/
5961 fseek/ftell and added error checking of return values from
5962 fread and fwrite in critical areas of the code.
5965 Fixed incorrect datasize element in AU header on write.
5967 * tests/error_test.c
5968 Add new test to check all error values have an associated error
5969 string. This will avoid embarrassing real world core dumps.
5971 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5973 * src/wav.c src/aiff.c
5974 Added handling for unknown chunk markers in the file.
5976 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5979 Filled in missing error strings in SndfileErrors array. Missing entries
5980 can cause core dumps when calling sf_error-str (). Thanks to Sam
5981 <mrsam at-sign geocities.com> for finding this problem.
5983 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5985 * src/wav_ima_adpcm.c
5986 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
5987 stereo files. Caused by not adjusting offset into buffer of decoded
5988 samples for 2 channels. A similar bug existed in __ima_write ().
5989 Need a test for stereo ADPCM files.
5991 * src/wav_ms_adpcm.c
5992 Decoder working correctly.
5994 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5996 * configure.in Makefile.am
5997 Added --enable-justsrc configuration variable sent by Sam
5998 <mrsam at-sign geocities.com>.
6000 * src/wav_ima_adpcm.c
6001 Fixed bug when reading beyond end of data section due to not
6002 checking pima->blockcount.
6003 This uncovered __ima_seek () bug due to pima->blockcount being set
6004 before calling __ima_init_block ().
6006 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6009 Started implementing MS ADPCM decoder.
6010 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
6011 encoder seems to add an extra byte. Why not just give an even data
6014 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6017 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
6018 This will make it easier to add and debug other kinds of WAV files
6021 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6024 Added adpcm_test.c which implements test functions for
6025 IMA ADPCM reading/writing/seeking etc.
6028 Fixed many bugs in IMA ADPCM encoder and decoder.
6030 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6033 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
6035 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6038 Started implementing IMA ADPCM decoder.
6040 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6043 Fixed bug where the sf_read_XXX functions were returning a
6044 incorrect read count when reading past end of file.
6045 Fixed bug in sf_seek () when seeking backwards from end of file.
6047 * tests/read_seek_test.c
6048 Added multiple read test to short_test(), int_test () and
6050 Added extra chunk to all test WAV files to test that reading
6051 stops at end of 'data' chunk.
6053 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6055 * tests/write_read_test.c
6056 Added tests for little DEC endian AU files.
6059 Add handling for DEC format little endian AU files.
6061 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6063 * src/aiff.c src/au.c src/wav.c
6064 Add __psf_sprintf calls during header parsing.
6066 * src/sndfile.c src/common.c
6067 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
6069 * tests/write_read_test.c
6070 Added tests for 8 bit PCM files (WAV, AIFF and AU).
6072 * src/au.c src/aiff.c
6073 Add handling of 8 bit PCM data format.
6076 On write, set blocksize in SSND chunk to zero like everybody else.
6078 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6081 Fixed bug in let2s_array (cptr was not being initialised).
6084 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
6085 now work when using these functions.
6087 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6089 * tests/write_read_test.c:
6090 Force test_buffer array to be double aligned. Sparc Solaris
6093 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6096 Fixed a bug which was causing errors in the reading
6097 and writing of 24 bit PCM files.
6100 Finished of preliminary documentaion.
6102 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6105 Changed reading of 'COMM' chunk to avoid reading an int
6106 which overlaps an int (4 byte) boundary.