1 2013-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4 Make sure checkprograms are built as part of 'make test-tarball'.
5 Closes: https://github.com/erikd/libsndfile/issues/37
7 2013-03-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
10 Fix a buffer overflow detected using GCC 4.8's -fsantiize=address runtime
11 error checking functionality. This was a buffer overflow in libsndfile's
12 test suite, not in the actual library code.
14 2013-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
17 Fix to work with OpenBSD's sed.
19 2013-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
21 * src/ALAC/alac_encoder.c
22 Patch from Michael Pruett (author of libaudiofile) to add correct byte
23 swapping for the mChannelLayoutTag field.
25 2013-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
28 Bugs should bt reported on the github issue tracker.
30 2013-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
33 Improve sanitization of FLAC_CFLAGS value.
35 2013-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
38 Call python interpreter instead of using '#!' in script. Thanks to Jan
39 Stary for reporting this.
41 * doc/index.html doc/FAQ.html
42 Make internal links relative. Patch from Jan Stary.
44 2013-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
46 * src/test_endswap.def src/test_endswap.tpl
47 Add tests for psf_put_be32() and psf_put_be64().
49 * src/sfendian.h src/test_endswap.(def|tpl)
50 Add functions psf_get_be(16|32|64) with tests.
51 These are needed for platforms where un-aligned accesses cause bus faults.
53 * src/ALAC/ag_enc.c src/ALAC/alac_decoder.c
54 Replace all un-aligned accesses with safe alternatives.
55 Closes: https://github.com/erikd/libsndfile/issues/19
57 2013-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
60 Add big endian versions of H2BE_16 and H2BE_32.
62 2013-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
65 Replace Apple endswap routines with ones from libsndfile.
67 * merge from libsndfile-cart repo
68 Add ability to set and get a cart chunk with WAV and RF64.
69 Orignal patch by Chris Roberts <c.roberts@csrfm.com> required a number of
72 2013-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
75 Bump SF_HEADER_LEN from 8192 to 12292, the value it was in the 1.0.25
78 2013-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
81 Fix segfault when encoding 8 channel files.
82 Closes: https://github.com/erikd/libsndfile/issues/30
84 2013-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
86 * src/ALAC/EndianPortable.c
87 Fall back to compiler's __BYTE_ORDER__ for endian-ness detection.
89 2013-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
91 * configure.ac src/common.h src/ima_adpcm.c src/ms_adpcm.c src/paf.c
92 Drop tests for and #ifdef hackery for C99 struct flexible array feature.
93 libsndfile assumes the compiler supports most of the ISO C99 standard.
96 Fix valgrind invalid realloc. Reported by nu774.
97 Closes: https://github.com/erikd/libsndfile/issues/31
99 2013-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
102 The 'pakt' chunk header should now be written correctly.
103 Closes: https://github.com/erikd/libsndfile/issues/24
105 * configure.ac Makefile.am
106 Use PKG_INSTALLDIR when it exists. Suggestion from Christoph Thompson.
107 Closes: https://github.com/erikd/libsndfile/pull/28
109 2013-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
111 * src/common.h src/caf.c
112 Read the ALAC 'pakt' header and stash the values.
115 Add functions psf_put_be64() and psf_put_be32().
118 Start work on filling on the 'pakt' chunk header.
120 2013-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
123 Add missing opening <P> tag.
126 Increase ALAC_BYTE_BUFFER_SIZE to 82000.
128 2013-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
133 2013-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
136 Add skeleton implementation so someone else can run with it.
138 2012-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
140 * src/common.h src/dwd.c src/rx2.c src/txw.c
141 Fix for compiling when configured with --enable-experimental. Thanks to
142 Eric Wong for reporting this.
144 2012-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
146 * configure.ac programs/sndfile-play.c
147 OS X 10.8 uses a different audio API to previous versions.
148 Fix compile failure on by disabling sndfile-play on this version.
149 Someone needs to supply code for the new API.
151 2012-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
153 * Octave/Makefile.am Octave/octave_test.sh
154 Fix 'make distcheck'.
156 2012-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
159 Relax constraints on Octave version.
161 2012-10-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
164 Improve compare_*_or_die() functions.
167 Fix bug reported by Keiler Florian. When reading short or int data from a
168 file containing float data, and setting SFC_SET_SCALE_FLOAT_INT_READ to
169 SF_TRUE would fail 3, 5, 7 and other channels counts. Problem was that
170 psf_calc_signal_max() was not calculating the signal max correctly.
171 Calculation of the signal max was failing because it was trying to read
172 a sample count that was not an integer multiple of the channel count.
174 * tests/channel_test.c tests/Makefile.am tests/test_wrapper.sh.in
175 Add test for the above.
177 2012-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
180 Added a constructor to allow the use of SF_VIRTUAL_IO. Patch from
181 DannyDaemonic : https://github.com/erikd/libsndfile/pull/20
183 2012-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
186 Fix link to octave.sourceforge.net. Thanks to IOhannes m zmoelnig.
189 Allow reading of mat5 files without a specified sample rate (default to
190 44.1kHz). Thanks to IOhannes m zmoelnig.
192 2012-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
195 Error out if channel count is zero. Bug report from William ELla via
197 https://bugs.launchpad.net/ubuntu/+source/libsndfile/+bug/1036831
199 2012-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
201 * configure.ac programs/sndfile-play.c
202 Patch from Ricci Adams to use OSX's AudioQueues on OSX 10.7 and greater.
204 2012-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
207 Accept "ogg" as a file extention for Ogg/Vorbis files.
209 2012-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
212 Make sure any previously allocated FLAC stream encoder and stream decoder
213 objects are deleted before a new one is allocated.
215 2012-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
218 Rename gen_lowpass_noise_float() to gen_lowpass_signal_float() and add a
219 sine wave component so that different FLAC compression levels can be
222 * src/sndfile.h.in doc/command.html
223 Add SFC_SET_COMPRESSION_LEVEL and document it.
226 Catch SFC_SET_VBR_ENCODING_QUALITY command and implement it as the inverse
227 of SFC_SET_COMPRESSION_LEVEL.
229 * src/ogg_vorbis.c src/flac.c
230 Implement SFC_SET_COMPRESSION_LEVEL command.
232 * tests/test_wrapper.sh.in tests/compression_size_test.c
233 Use the compression_size_test on FLAC as well.
235 2012-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
238 Rename vorbis_test.c -> compression_size_test.c so it can be extended to
241 2012-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
244 Fix a bug where a file with a 'bext' chunk with a zero length coding
245 history field would get corrupted when the file was closed.
246 Reported by Paul Davis of the Ardour project.
248 * src/test_broadcast_var.c
249 Add a test for the above.
251 2012-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
254 sf_format_check: For SF_FORMAT_AIFF, reject endian-ness setttings for
257 2012-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
260 Fix regression in handling of odd length SSND chunks.
261 Thanks Olivier Tristan for the example file.
263 * src/aiff.c src/wav.c
264 Exit parser loop when marker == 0.
266 2012-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
269 Fix text. Thanks to Richard Collins.
271 2012-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
274 Exit parse loop if the marker is zero. Pass jump offsets as size_t instead
277 2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
280 Fix segfault when decoding CAF/ALAC file with more than 4 channels.
281 Fixes github issue #8 reported by Charles Van Winkle.
283 2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
286 Change 'typedef SF_CHUNK_ITERATOR { ... } SF_CHUNK_ITERATOR' into 'struct
287 SF_CHUNK_ITERATOR { ... }' to prevent older compilers from complaining of
288 re-typedef-ing of SF_CHUNK_ITERATOR.
291 Fix if test for empty $prefix.
293 2012-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
295 * src/*.c tests/chunk_test.c
296 Reworking of custom chunk handling code.
297 - Memory for the iterator is now attached to the SF_PRIVATE struct and
298 freed one sf_close().
299 - Rename sf_create_chunk_iterator() -> sf_get_chunk_iterator().
300 - Each SNDFILE handle never has more than one SF_CHUNK_ITERATOR handle.
302 * tests/string_test.c
303 Fix un-initialised char buffer.
305 2012-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
307 * src/*.c tests/chunk_test.c
308 Add improved handling of custom chunk getting and settings. Set of patches
309 from IOhannes m zmoelnig submitted via github pull request #6.
312 Fix calculated frame count for files with zero block length.
314 2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
317 Remove double assignment to psf->endian. Thanks Kao Dome.
320 Fix clearing of buffers. Thanks Kao Dome.
323 Remove duplicate code. Thanks Kao Dome.
325 * src/test_strncpy_crlf.c
326 Fix minor error in test. Thanks Kao Dome.
328 * src/common.h src/*.c
329 Fix a bunch of valgrind errors.
331 2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
334 Fix typo in error string 'Uknown' -> 'Unknown'.
337 Fix potential int overflow.
339 2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
342 Fix decoding of last block so that the decode length is not a multiple of
343 the block length. Fixes github issue #4 reported by Charles Van Winkle.
345 * src/sfconfig.h src/sfendian.h
346 Fix for MinGW cross compiling. Use '#if (defined __*66__)' instead of
347 '#if __*86__' because the MinGW header use '#ifdef __x86_64__'.
349 2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
351 * src/ALAC/ src/alac.c
352 Unify the interface between libsndfile and Apple ALAC codec. Regardless of
353 file bit width samples are now passed between the two as int32_t that are
354 justified towards the most significant bit. Without this modification, 16
355 conversion functions would have been needed between the libsndfile (short,
356 int, float, double) types and the ALAC types (16, 20, 24 and 32 bit). With
357 this mod, only 4 are needed.
359 * tests/floating_point_test.tpl tests/write_read_test.(def|tpl)
360 Add tests for 20 and 24 bit ALAC/CAF files.
363 Add ALAC/CAF to the SFC_GET_FORMAT_* commands. Fixes github issue #5.
366 Only use automake AM_SLIENT_RULES where supported. Thanks Dave Yeo.
368 * tests/pipe_test.tpl
369 Disable tests on OS/2. Thanks Dave Yeo.
371 2012-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
373 * configure.ac src/sfconfig.h src/sfendian.h
374 For GCC, use inline assembler for endian swapping. This should work with
375 older versions of GCC like the one currently used in OS/2.
377 2012-03-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
380 Make sure temp file gets opened in binary mode.
382 * src/alac.c src/common.c src/common.h
383 Fix function alac_write16_d().
385 * tests/floating_point_test.tpl
386 Add tests for 16 bit ALAC/CAF.
388 * src/alac.c src/common.c src/common.h
389 Add support for 32 bit ALAC/CAF files.
391 * tests/floating_point_test.tpl tests/write_read_test.tpl
392 Add tests for 32 bit ALAC/CAF files.
394 2012-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
397 Refactor chunk storage so it work on big as well as little endian CPUs.
400 Clean up error messages.
402 * src/sfendian.h src/*.c
403 Rename endian swapping macros and add ENDSWAP_64 and BE2H_64.
406 Detect presence of <x86intrin.h> header file.
409 Use <x86intrin.h> intrinsics (ie for MinGW) when <byteswap.h> is not
411 Make ENDSWAP_64() work with i686-w64-mingw32 compiler.
413 * src/ALAC/EndianPortable.c
414 Add support for __powerpc__.
417 Make sure HAVE_X86INTRIN_H is either 1 or 0.
419 2012-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
422 Big dump of code for Apple's ALAC file format. The copyyright to this code
423 is owned by Apple who have released it under an Apache style license. A few
424 small modifications were made to allow this to be integrated into libsndfile
425 but unfortunately the history of those changes were lost because they were
426 developed in a Bzr tree and during that time libsndfile moved to Git.
428 * src/alac.c src/caf.c src/common.[ch] src/Makefile.am src/sndfile.h.in
430 Hook new ALAC codec in.
432 * programs/sndfile-convert.c
433 Add support for alac codec.
435 * tests/write_read_test.tpl
436 Expand tests to cover ALAC.
438 2012-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
440 * src/aiff.c src/wav.c
441 Fix a couple of regressions from version 1.0.25.
443 2012-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
446 Minor refactoring. Make sure that the memory allocation size if always > 0
447 to avoid undefined behaviour.
449 2012-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
452 Fix buffer overrun introduced in recently added chunk logging. This chunk
453 logging has not yet made it to a libsndfile release version. Thanks to
454 Olivier Tristan for providing an example file.
457 Fix handling of odd sized chunks which was causing the parser to lose some
458 chunks. Thanks to Olivier Tristan for providing an example file.
460 2012-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
463 Used gnu_printf format checking with mingw-w64 compiler.
465 * tests/header_test.tpl
468 2012-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
471 Update PKG_CHECK_MOD_VERSION macro to add an AC_TRY_LINK step. This fix
472 allows the configure process to catch attempts to link incompatible
473 libraries. For example, linking 32 bit version of eg libFLAC to a 64 bit
474 version of libsndfile will now fail. Similarly, when cross compiling
475 libsndfile from Linux to Windows linking the Linux versions of a library
476 to the Windows version of libsndfile will now also fail.
478 * src/sndfile.h.in src/sndfile.c src/common.h src/create_symbols_file.py
479 Add API function sf_current_byterate().
481 * src/dwvw.c src/flac.c src/ogg_vorbis.c src/sds.c
482 Add codec specific handlers for current byterate.
484 * tests/floating_point_test.tpl
485 Add initial test for sf_current_byterate().
487 2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
490 Add function psf_decode_frame_count().
493 Fix a termnation bug that caused the decoder to go into an infinite loop.
495 2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
498 Fix a regression in the WAV header parser. Thanks to Olivier Tristan for
499 bug report and the example file.
501 2012-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
504 Return error when SF_BROADCAST_INFO struct has bad coding_history_size.
505 Thanks to Alex Weiss for the report.
507 2012-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
509 * src/au.c src/flac.c src/g72x.c src/ogg_vorbis.c src/wav_w64.c
510 Don't fake psf->bytewidth values.
512 2012-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
514 * tests/string_test.c
515 Fix valgrind warnings.
517 * src/common.h src/sndfile.c src/strings.c
518 Make string storage dynamically allocated.
521 Add extra validation for custom chunk handling.
523 2012-02-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
526 Improve handlling unknown chunk types. Thanks to Olivier Tristan for sending
530 Add GCC specific testing for format string parameters for exit_if_true().
532 * tests/*.c tests/*.tpl
533 Fix all printf format warnings.
535 * programs/sndfile-play.c
536 Remove un-needed OSX include <Carbon.h>. Thanks jamesfmilne for github
540 Extend custom chunk test.
542 2012-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
545 Jump over some more chunk types while parsing.
547 2012-02-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
549 * src/common.h src/strings.c
550 Change way strings are stored in SF_PRIVATE in preparation for dynamically
551 allocating the storage.
553 2012-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
555 * src/common.h src*.c
556 Improve encapsulation of string data in SF_PRIVATE.
558 2012-02-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
560 * src/common.h src*.c
561 Remove the buffer union from SF_PRIVATE. Most uses of this have been
562 replaced with a BUF_UNION that is allocated on the stack.
564 2012-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
566 * src/common.h src*.c
567 Rename logbuffer field of SF_PRIVATE to parselog and reduce its size.
568 Put the parselog buffer and the index inside a struct within SF_PRIVATE.
570 2012-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
573 Fix typo, FLAC_CLFAGS -> FLAC_CFLAGS. Thanks to Jeremy Friesner.
575 2012-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
577 * src/sndfile.c src/ogg.c
578 Fix misleading error message when trying to create an SF_FORMAT_OGG file
579 with anything other than SF_FORMAT_FILE. Thanks to Charles Van Winkle for
580 the bug report. Github issue #1.
582 2012-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
584 * src/sndfile.c src/wav.c
585 Allow files opened in RDWR mode with string data in the tailer to be
586 extended. Thanks to Bodo for the patch.
588 * tests/string_test.c
589 Add tests for the above changes (patch from Bodo).
591 2012-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
594 Refactor reading of chunk size and use of psf_store_read_chunk().
597 Correct storing of chunk offset.
599 2012-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
601 * src/aiff.c src/wav.c src/common.h
602 Refactor common code into src/common.h.
605 Make custom chunks work for CAF files.
607 * tests/chunk_test.c tests/test_wrapper.sh.in
608 Test CAF files with custom chunks.
611 Prevent psf->codec_close() being called more than once.
613 2012-01-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
615 * programs/sndfile-cmp.c
616 Catch the case where the second file has more frames than the first.
618 2012-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
620 * src/create_symbols_file.py
621 Add sf_set_chunk/sf_get_chunk_size/sf_get_chunk_data.
623 2011-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
625 * tests/chunk_test.c tests/Makefile.am
626 New test for custom chunks.
628 * src/aiff.c src/chunk.c src/common.h src/sndfile.c
629 Make custom chunks work on AIFF files.
632 Make custom chunks work on WAV files (includes refactoring).
634 2011-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
636 * src/sndfile.h.in src/common.h src/sndfile.c
637 Start working on setting/getting chunks.
639 2011-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
641 * src/binheader_writef_check.py src/create_symbols_file.py
642 Make it work for Python 2 and 3. Thanks Michael.
644 2011-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
647 Change field name 'URL' to 'Url'.
650 Add SF_SEEK_SET/CUR/END.
652 2011-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
655 Fix a stack overflow that can occur when parsing a file with multiple
656 ID3 headers which would cause libsndfile to go into an infinite recursion
657 until it blew the stack. Thanks to Anders Svensson for supplying an example
660 2011-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
662 * src/double64.c src/float32.c src/common.h
663 Make (float32|double_64)_(be|le)_read() functions const correct.
665 2011-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
668 Minor tweaking of types. Cast to ptr to correct final type rather void*.
670 * programs/sndfile-play.c tests/utils.tpl
671 Fix compiler warnings with latest MinGW cross compiler.
673 2011-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
676 Use the non-deprecated resource fork name on OSX. Thanks to Olivier Tristan.
678 2011-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
681 Jump over the 'olym' chunks when parsing.
683 2011-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
685 * tests/write_read_test.tpl
686 Remove windows only truncate() implementation.
688 2011-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
690 * src/sd2.c src/sndfile.c
691 Make sure 23 bit PCM SD2 files are readable/writeable.
693 * tests/write_read_test.tpl
694 Add tests for 32 bit PCM SD2 files.
696 2011-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
699 Use AC_SYS_LARGEFILE instead of AC_SYS_EXTRA_LARGEFILE as suggested by
702 2011-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
704 * configure.ac Makefile.am
705 Move ACLOCAL_AMFLAGS setup to Makefile.am.
707 2011-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
710 Merge two separate blocks of SFC_SET_VBR_ENCODING_QUALITY documentation.
713 Replace ppaf24->samplesperblock with a compile time constant.
715 2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
718 Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
721 Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
724 * NEWS README configure.ac doc/*.html
727 2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
730 Add handling for HAVE_SYS_WAIT_H.
732 * Makefile.am src/Makefile.am tests/Makefile.am
733 Add 'checkprograms' target.
735 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
737 * src/common.h src/sndfile.c
738 Purge SF_ASSERT macro. Use standard C assert instead.
740 * src/paf.c src/common.h src/sndfile.c
741 Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
742 byte value of 0) due to integer overflow if PAF file handler.
744 * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
745 Use calloc instead of malloc followed by memset.
748 Clean up use of memset.
750 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
755 * tests/format_check_test.c
756 Fix compiler warnings.
758 2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
761 Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
763 * tests/format_check_test.c
764 Add a test to for SF_FINFO format field validation.
766 * src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
767 src/common.h src/Makefile.am
768 Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
769 and Speex codecs in an Ogg container. The later two are only enabled with
770 ENABLE_EXPERIMENTAL_CODE config variable.
772 2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
775 Clean up and refactor storage of SF_STR_SOFTWARE.
777 2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
779 * src/sndfile.h.in doc/api.html
780 Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
781 Tim van der Molen for the patch.
783 2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
785 * programs/sndfile-interleave.c
786 Fix handling of argc. Thanks to Marius Hennecke.
789 Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
790 providing example files.
793 Jump over 'FLLR' chunks.
795 2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
798 Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
801 Add -Wundef to CFLAGS.
806 2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
809 Use int64_t instead of off_t when they are the same size.
811 * src/Makefile.am tests/Makefile.am
812 Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
814 2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
817 Don't allow unknown and/or un-editable chunks to prevent the file from being
818 opened in SFM_RDWR mode.
820 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
822 * tests/format_check_test.c
823 Fix segfault in test program.
825 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
827 * tests/format_check_test.c
828 New test program to check to make sure that sf_open() and sf_check_format()
829 agree as to what is a valid program.
831 * tests/Makefile.am tests/test_wrapper.sh.in
832 Hook into build and test runner.
835 Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
838 2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
841 Add validation to size of 'data' chunk and fix size of written 'data'
842 chunk. Thanks to Michael Pruett for reporting this.
844 2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
846 * src/* tests/* programs/*
847 Fix a bunch of compiler warnings with gcc-4.6.
849 2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
852 Add NOT macro to util.h.
855 Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
856 strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
859 * tests/string_test.c
860 Add test for SF_STR_SOFTWARE segfault bug.
863 Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
864 '-I${includedir}/FLAC'. However FLAC also provides an include file
865 <assert.h> which clashes with the Standard C header of the same name. The
866 solution is strip the 'FLAC' part off the end and include all FLAC headers
869 * configure.ac src/Makefile.am
870 Use non-recursive make in src/ directory.
872 2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
874 * NEWS README docs/*.html
875 Updates for 1.0.24 release.
877 2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
880 Fix up usage of sed (should not assume GNU sed).
882 * M4/add_(c|cxx)flags.m4
883 Test flags in isolation.
886 Fix a broken test (test segfaults). Report by Dave Flogeras.
888 2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
890 * programs/common.[ch]
891 Add function program_name() which returns the program name minus the path
894 * programs/*.c programs/Makefile.am
895 Use program_name() where appropriate. Fix build.
897 2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
900 For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
901 byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
902 version accept 18 byte but not 16 byte.
904 2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
907 Add examples for question 12.
909 * doc/libsndfile.css.in
910 Add tweaks for h4 element.
913 Add documentation for virtual I/O functionality. Thanks to Uli Franke.
916 Add static inline functions sf_info_clear() and sf_info_setup().
918 * tests/(alaw|dwvw|ulaw)_test.c
919 Use functions sf_info_clear() and sf_info_setup().
921 2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
924 Fail more gracefully if pkg-config is missing. Suggestion from Brian
927 2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
930 Use size_t instead of int for size params with varargs.
932 2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
935 Update supported platforms with more Debian platforms and Android.
937 2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
940 Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
941 class definition. Thanks to Eric Eizenman for pointing out this was missing.
944 Add test for LPCWSTR version of the SndfileHandle constructor.
946 2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
948 * programs/sndfile-play.c
951 2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
954 Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
958 Add tests for above two methods. Also supplied by Tim Blechmann.
960 2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
963 Add mention of use of sf_strerror() when sf_open() fails.
965 2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
968 Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
969 people are compiling on a 64 bit system with the GCC -m32 flag.
972 Fix comments on sf_count_t.
974 2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
977 Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
979 2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
982 Sed fix for FreeBSD. Thanks Tony Theodore.
984 2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
986 * shave.in M4/shave.m4
987 Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
990 * configure.ac M4/shave.m4 shave-libtool.in shave.in
991 Switch from shave to automake-1.11's AM_SILENT_RULES.
993 2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
995 * shave-libtool.in shave.in
996 Sync to upstream version.
999 More work to make the parser more robust and accepting of mal-formed files.
1001 2010-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1004 Add functions psf_strlcpy() and psf_strlcat().
1006 * src/broadcast.c src/sndfile.c src/strings.c src/test_main.c
1007 src/test_main.h src/test_strncpy_crlf.c
1008 Use functions psf_strlcpy() and psf_strlcat() as appropriate.
1010 * tests/string_test.c
1011 Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
1014 Fix size of 'ds64' chunk when writing RF64.
1016 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1019 Add the libsndfile version to the usage message of all programs.
1021 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1023 * configure.ac src/version-metadata.rc.in src/Makefile.am
1024 Add version string resources to the windows DLL.
1027 Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
1029 * NEWS README configure.ac doc/*.html
1030 Updates for 1.0.23 release.
1032 2010-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1034 * tests/pedantic-header-test.sh.in
1035 Handle unusual values of CC environment variable.
1038 Minor tweaks and additional sanity checking.
1040 * src/Makefile.am src/binheader_writef_check.py
1043 2010-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1046 Add a missing 'inline' before a constructor defintion.
1048 2010-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1056 * Makefile.am */Makefile.am
1057 Add *~ to CLEANFILES.
1059 2010-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1062 Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
1063 Van Winkle for the report.
1065 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1067 * src/flac.c src/ogg.c src/sndfile.h.in src/strings.c src/wav.c
1068 Add ability to read/write tracknumber and genre to flac/ogg/wav files.
1069 Thanks to Matti Nykyri for the patch.
1071 * src/common.h src/broadcast.c src/strings.c
1072 Add function psf_safe_strncpy() and use where appropriate.
1074 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1076 * NEWS README configure.ac doc/*.html
1077 Updates for 1.0.22 release.
1079 2010-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1081 * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
1082 Rewrite of SF_BROADCAST_INFO handling.
1084 * src/test_broadcast_var.c tests/command_test.c
1085 Tweak SF_BROADCAST_INFO tests.
1087 * src/test_broadcast_var.c
1088 Fix OSX stack check error.
1090 2010-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1093 Set sustain_loop_end to 0 as suggested by Brian Lewis.
1095 2010-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1098 Make sure the correct frame count gets written into the header.
1100 * tests/write_read_test.tpl
1101 Don't allow SDS files to have a long frame count.
1103 2010-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1106 Apply a pair of patches from Brian Lewis to fix the packet number location
1109 2010-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1111 * src/aiff.c src/file_io.c src/ogg.c src/rf64.c src/sndfile.c
1112 src/strings.c src/test_audio_detect.c src/test_strncpy_crlf.c
1113 src/wav.c tests/pcm_test.tpl
1114 Fix a bunch of minor issues found using static analysis.
1116 2010-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1118 * src/test_broadcast_var.c
1119 New file containing tests for broadcast_set_var().
1121 * src/Makefile.am src/test_main.[ch]
1122 Hook test_broadcast_var.c into tests.
1124 2010-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1126 * src/broadcast.c src/common.(c|h)
1127 Move function strncpy_crlf() to src/common.c so the function can be tested
1130 * src/test_strncpy_crlf.c
1133 * src/Makefile.am src/test_main.[ch]
1134 Hook test_strncpy_crlf.c into tests.
1136 2010-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1139 Move code around to make comments make sense.
1142 Add debugging code that is disabled by default.
1144 2010-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1147 When the file meta data says the file has zero frames set psf->sf.frames
1148 to SF_COUNT_MAX. Fixes Debian bug #590752.
1150 * programs/sndfile-info.c
1151 Print 'unknown' if frame count == SF_COUNT_MAX.
1153 2010-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1156 Only support writing mono SVX files. Multichannel SVX files are not
1157 interleaved and there is no support infrastructure to cache and write
1158 multiple channels to create a non-interleaved file.
1161 Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
1164 2010-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1167 Add macro SF_ASSERT.
1170 Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
1173 Add support for reading and writing stereo SVX files.
1175 2010-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1178 When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
1180 * programs/common.c programs/sndfile-metadata-set.c
1181 Update metadata after the audio data is copied. Other minor fixes. Patch
1182 from Marius Hennecke.
1184 2010-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1187 Fix a regression reported by Hugh Secker-Walker.
1190 Add comment about sf_open_fd() not working on Windows if the application
1191 and the libsndfile DLL are linked to different versions of the Microsoft
1194 2010-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1196 * tests/pedantic-header-test.sh.in
1197 Fix 'make distcheck'.
1199 2010-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1201 * tests/pedantic-header-test.sh.in
1202 New file to test whether sndfile.h can be compiled with gcc's -pedantic
1205 * configure.ac tests/test_wrapper.sh.in
1206 Hook pedantic-header-test into test suite.
1209 Fix -pedantic warning.
1211 2010-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1213 * programs/sndfile-salvage.c programs/Makefile.am
1214 New program to salvage the audio data from WAV/WAVEX/AIFF files which are
1215 greater than 4Gig in size.
1217 2010-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1219 * programs/sndfile-convert.c
1220 Fix valgrind warning.
1222 2010-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1224 * programs/sndfile-cmp.c
1225 When files differ in the PCM data, also print the difference offset.
1228 2010-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1231 Don't use the 'twos' marker for 24 and 32 bit PCM, use 'in24' and 'in32'
1232 instead. Thanks to Paul Davis (Ardour) for this suggestion.
1234 2010-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1237 Clean up configure report.
1240 Add functions test_read_raw_or_die and test_write_raw_or_die.
1242 * tests/rdwr_test.(def|tpl) tests/Makefile.am
1243 Add new test program and hook into build.
1246 Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
1248 * tests/test_wrapper.sh.in
1249 Add rdwr_test to the test wrapper script.
1251 2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1254 Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
1256 * programs/common.[ch] programs/sndfile-metadata-set.c
1257 Apply a patch from Robin Gareus allowing the setting of the time reference
1258 field of the BEXT chunk.
1260 2010-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1263 Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
1266 2010-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1269 Add a constructor which takes an existing file descriptor and then calls
1270 sf_open_fd(). Patch from Sakari Bergen.
1272 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1274 * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
1275 Improve usage messages.
1277 2010-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1279 * src/id3.c src/Makefile.am
1280 Add new file src/id3.c and hook into build.
1282 * src/sndfile.c src/common.h
1283 Detect and skip and ID3 header at the start of the file.
1285 2010-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1288 Fix update_strings() copyright, comment, album and license are correctly
1289 written. Thanks to Todd Allen for reporting this.
1292 Change GNU makeism to something more widely supported. Thanks to Christian
1293 Weisgerber for reporting this.
1295 * configure.ac programs/Makefile.am programs/sndfile-play.c
1296 Apply patch from Christian Weisgerber and Jacob Meuserto add support for
1299 2010-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1302 Discourage the use of sf_read/write_raw().
1304 2009-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1307 Test for Unix pipe() and waitpid() functions.
1309 * src/sfconfig.h tests/pipe_test.tpl
1310 Disable pipe_test if pipe() and waitpid() aren't available.
1312 2009-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1314 * configure.ac src/Makefile.am src/create_symbols_file.py
1315 src/make-static-lib-hidden-privates.sh
1316 Change name of generated file src/Symbols.linux to Symbols.gnu-binutils and
1317 and use the same symbols file for other systems which use GNU binutils like
1320 * M4/shave.m4 shave.in
1321 Update shave files from upstream.
1323 2009-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1325 * man/sndfile-metadata-get.1
1328 * man/sndfile-interleave.1 man/Makefile.am
1331 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1334 When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
1335 its too hot. Thanks to Dmitry Baikov for suggesting this.
1337 * NEWS README doc/*.html
1340 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1342 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
1343 Remove these which will now be in found in the sndfile-tools package.
1345 * programs/Makefile.am man/Makefile.am
1346 Remove build rules for sndfile-jackplay.
1349 Remove detection of JACK Audio Connect Kit.
1351 * programs/sndfile-concat.c man/sndfile-concat.1
1352 Add new program with man page.
1354 * man/Makefile.am programs/Makefile.am
1355 Hook sndfile-concat into build system.
1357 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1359 * tests/error_test.c
1360 Don't terminate when sf_close() returns zero in error_close_test().
1361 It seems that Windows 7 behaves differently from earlier versions of
1364 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1366 * configure.ac M4/*.m4
1367 Rename all custom macros from AC_* to MN_*.
1369 * programs/sndfile-interleave.c
1370 Make it actually work.
1372 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1374 * doc/*.html configure.ac
1375 Corrections and clarifications courtesy of Robin Forder.
1377 * programs/sndfile-convert.c programs/common.[ch]
1378 Move some code from convert to common for reuse.
1380 * programs/sndfile-interleave.c programs/sndfile-interleave.c
1381 Add new programs sndfile-interleave and sndfile-deinterleave.
1383 * programs/Makefile.am
1384 Hook new programs into build.
1386 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1388 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
1389 Minor OS/2 tweaks as suggested by David Yeo.
1391 * tests/multi_file_test.c
1392 Fix file creation flags on windows. Thanks to Bruce Sharpe.
1395 Set all group and other file create permssions to zero.
1397 * tests/win32_test.c
1400 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1402 * doc/print.css doc/*.html
1403 Add a print stylesheet and update all HTML documents to reference it.
1404 Thanks to Aditya Bhargava for suggesting this.
1409 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1412 Add a Libs.private entry to assist with static linking.
1414 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1416 * src/make-static-lib-hidden-privates.sh src/Makefile.am
1417 Add a script to hide all non-public symbols in the libsndfile.a static
1420 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1422 * tests/locale_test.c
1423 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
1425 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1428 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
1430 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1432 * programs/sndfile-convert.c
1433 Allow the program to read from stdin by specifying '-' on the command line
1437 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
1439 * tests/virtual_io_test.c
1440 Add a PAF/PCM_24 test and verify the file length is not negative
1441 immediately after openning the file for write.
1443 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1446 When writing loop lengths, adjust the end position by one to make up for
1447 Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
1449 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1452 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
1455 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1458 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
1461 Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
1462 libsndfile test suite to fail on MIPS, PowerPC and others.
1463 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
1465 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1467 * man/sndfile-convert.1
1468 Fix warning from Debian's lintian checks.
1470 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
1472 Add three new minimal manpages and hook into build.
1474 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1476 * tests/test_wrapper.sh.in
1477 Don't run cpp_test on x86_64-w64-mingw32.
1479 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1482 On windows, make sure the open() function doesn't get called with a third
1483 parameter of 0 which fails for no good reason. Also make sure this third
1484 parameter doesn't get called with S_IRGRP when compiling for windows because
1488 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
1492 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
1495 * src/create_symbols_file.py src/Makefile.am
1496 Add Symbols.static target, a list of symbols, one per line.
1498 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1500 * tests/test_wrapper.sh.in
1501 Update to allow all tests to be gathered up into a testsuite tarball and
1502 then be run using this script.
1504 * build-test-tarball.mk.in
1505 Add a Make script to build a tarball of all the test binaries and the test
1506 wrapper script. This is useful for cross compiling; you can build the
1507 binaries, build test test tarball and transfer the test tarball to the
1508 target machine for testing.
1510 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1512 * src/common.h src/*.c
1513 Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
1514 for the file path, directory and name. Fixes for this change throughout.
1516 * src/windows.c src/Makefile.am
1517 New file defining new windows only public function sf_wchar_open() which
1518 takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
1521 Add SF_CHANNEL_MAP_ABISONIC_* entries.
1522 Add windows only defintion for sf_wchar_open().
1524 * src/create_symbols_file.py
1525 Add sf_wchar_open() to the list of public symbols (windows only).
1527 * tests/locale_test.c
1528 Add a wchar_test() to test sf_wchar_open().
1530 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1532 * src/common.h src/*.c
1533 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
1535 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1537 * src/aiff.c src/voc.c
1538 When a byte is needed, use unsigned char.
1540 * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
1541 Include sfconfig.h to prevent compile errors with MinGW compilers.
1544 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
1546 * tests/locale_test.c
1547 Update to work with xx_XX.UTF-8 style locales. Refactoring.
1549 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1552 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
1553 Remove unneeded AC_SUBST.
1554 Report Host CPU/OS/vendor.
1556 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1559 Fix error message string.
1562 Add 88200 to the list of supported sample rates.
1565 Fix compiler warning when using gcc-4.5.0.
1567 * programs/sndfile-info.c tests/utils.tpl
1568 Remove WIN32 snprintf #define.
1571 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
1574 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1577 Use the correct C99 format specifier for int64_t.
1580 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
1581 Ossman for the bug report.
1583 * src/caf.c src/sndfile.c
1584 Fix reading and writing of PEAK chunks in CAF files.
1586 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
1587 Run peak_chunk_test on CAF files.
1589 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1591 * src/aiff.c src/wav.c
1592 Use the correct C99 format specifier for int64_t.
1594 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1596 * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
1597 Apply a patch (massaged slightly) from Uli Franke adding handling of the
1598 BEXT chunk in RF64 files.
1600 * tests/command_test.c
1601 Update channel_map_test() function so WAV test passes.
1604 Add channel mapping and ambisonic support.
1607 Add comments showing correspondance between libsndfile channel map
1608 defintiions and those used by Apple and MS.
1610 Add handling of reading/writing channel map info.
1612 * tests/command_test.c tests/test_wrapper.sh.in
1613 Update channel map tests.
1615 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1618 Add function psf_isprint() a replacement for the standard C isprint()
1619 function which ignores any locale settings and treats all input as ASCII.
1621 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
1622 Use psf_isprint() instead of isprint().
1624 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1627 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
1629 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1631 * programs/sndfile-play.c
1632 Allow use of Open Sound System audio output under FreeBSD.
1634 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1637 Add patch from Conrad Parker to add --disable-jack.
1639 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1641 * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
1642 Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
1643 Thanks to Sami Liedes for reporting this a Debian bug #530831.
1645 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1648 New files for channel map decoding/encoding.
1650 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1652 * configure.ac src/sndfile.h.in
1653 Fix MSVC definition of sf_count_t.
1655 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1658 Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
1659 an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
1662 Add ability to write the channel mask.
1664 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1666 * programs/sndfile-info.c
1667 Add -c command line option to dump the channel map information.
1670 Don't bail from parser if channel map bitmask is faulty.
1672 * src/common.h src/sndfile.c
1673 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
1676 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
1679 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1681 * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
1682 Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
1683 channel data in WAV and W64 files.
1684 Add a test for the above.
1686 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1689 Update the section about pre-compiled binaries for Win64.
1691 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1693 * src/common.h src/test_conversions.c
1694 Be more careful when including <stdint.h> so compiling on pre-C99 platforms
1695 (hello Slowlaris) might actually work.
1697 * NEWS README doc/*.html
1700 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1703 Fix a bug whereby opening a specially crafted VOC file could result in a
1704 heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
1708 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
1710 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1712 * tests/stdin_test.c
1713 Check psf->error after opening file.
1716 Fix obscure seeking bug reported by Hugh Secker-Walker.
1719 Add check of sf_error to test_open_file_or_die().
1722 Clear error if opening resource fork fails.
1724 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1726 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
1729 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1734 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1737 In host_read_f2s call convert instead of f2s_array.
1742 * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
1743 tests/dwvw_test.c tests/fix_this.c tests/generate.c
1744 tests/multi_file_test.c
1747 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1749 * M4/shave.m4 shave.in
1750 Pulled update from upstream.
1752 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1755 Add pointers to example programs in source code tarball.
1757 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1760 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
1763 Add documentation for --disable-external-libs and improve error handling
1766 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1767 Add public function sf_version_string.
1770 Test function sf_version_string.
1772 * M4/shave.m4 shave-libtool.in shave.in
1773 Add new files from 'git clone git://git.lespiau.name/shave'.
1778 * src/Makefile.am src/binheader_writef_check.py Octave/*
1779 Shave related tweaks.
1781 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1783 * src/common.h src/caf.c src/sndfile.c
1784 Add SF_MAX_CHANNELS (set to 256) and use it.
1787 Check for either _MSCVER or _MSC_VER being defined.
1789 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1791 * tests/vorbis_test.c
1792 Relax test slighly to allow test to pass on more CPUs etc.
1794 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1797 Detect vorbis_version_string() correctly.
1799 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1802 Add a 'See Also' section with a link to sndfile-tools.
1804 * NEWS README doc/*.html
1805 Updates for 1.0.19 release.
1808 Fix --enable-external-libs logic.
1810 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1813 Fix resource leak and potential read beyond end of buffer.
1816 Fix reading of header value sample_n_bytes.
1818 * src/sd2.c src/wav.c
1819 Fix potential read beyond end of buffer.
1821 * src/sndfile.c src/svx.c
1822 Check return values of file_io functions.
1824 * tests/win32_test.c
1828 Detect the presence/absence of vorbis_version_string() in libvorbis.
1831 Only call vorbis_version_string() from libvorbis if present.
1833 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1835 * tests/win32_test.c
1836 Don't use sprintf, even on windows.
1838 * src/aiff.c src/rf64.c src/wav.c
1839 Eliminate dead code, more validation of data read from file.
1841 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1844 Clamp values to a valid range before indexing ima_step_size array.
1846 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
1847 Don't include un-needed headers.
1849 * programs/sndfile-info.c
1852 * tests/test_wrapper.sh.in
1853 Add 'set -e' so the script exits on error.
1855 * src/test_ima_oki_adpcm.c
1856 Fix read beyond end of array.
1858 * tests/win32_test.c
1859 Add missing close on file descriptor.
1861 * src/nist.c programs/sndfile-metadata-set.c
1862 Fix 'unused variable' warnings.
1865 Fix potential memory leak in handling of 'MARK' chunk.
1866 Remove un-needed test (unsigned > 0).
1869 Improve handling of heap allocated buffer.
1872 Remove un-needed test (always true).
1874 * src/wav.c src/rf64.c
1875 Ifdef out dead code that will be resurected some time in the future.
1877 * src/wav.c src/w64.c src/xi.c
1878 Handle error return values from psf_ftell.
1881 Fix handling and error checking of MSADPCM coefficient arrays.
1886 * src/test_file_io.c
1887 Use snprintf instead of strncpy in test program.
1889 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1892 Validate data before using.
1895 Validate channels per frame value before using, fixing a possible integer
1896 overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
1897 Secunia Research (CVE-2009-0186).
1899 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1901 * Octave/octave_test.sh
1902 Unset TERM environment variable and export LD_LIBRARY_PATH.
1904 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1907 In windows code, cast LPVOID to 'char*' in printf.
1909 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1912 Clear the TERM environment before evaluating anything in Octave. This works
1913 around problems that might occur if a users TERM settings are incorrect.
1914 Thanks to Rob Til Freedmen for helping to debug this.
1917 Handle four zero bytes as a marker within a LIST or INFO chunk.
1918 Thanks to Rogério Brito for supplying an example file.
1920 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1922 * src/common.h src/*.c
1923 Use C99 snprintf everywhere.
1925 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1927 * tests/test_wrapper.sh.in
1928 New file to act as the template for the test wrapper script.
1931 Generate tests/test_wrapper.sh from the template.
1934 Replace all tests with a single invocation of the test wrapper script.
1936 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1939 Record vorbis library version string.
1942 Require libvorbis >= 1.2.2.
1945 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
1947 * M4/octave.m4 M4/mkoctfile_version.m4
1948 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
1950 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1952 * Octave/Makefile.am
1953 Use $(top_buildir) instead of $(builddir) which may not be defined.
1956 Improve logic and status reporting.
1958 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1960 * configure.ac AUTHORS NEWS README doc/*.html
1961 Final tweaks for 1.0.18 release.
1963 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1965 * programs/sndfile-convert.c
1966 Add 'htk' to the list of convert formats.
1968 * programs/sndfile-info.c
1969 Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
1970 Increase size of files for which signal max will be calculated.
1972 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1975 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
1977 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1979 * programs/sndfile-metadata-get.c
1980 Make valgrind clean.
1981 Clean up temp string array usage.
1982 Error out if trying to update coding history in RDWR mode.
1984 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1987 Fix links to versions of the LGPL.
1989 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1991 * tests/string_test.c
1992 Add test for RDWR mode where the file ends up shorter than when it was
1996 Truncate the file on close for RDWR mode where the file ends up shorter
1997 than when it was opened.
1999 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2002 Fix problem with quoting of '#include'.
2004 * M4/add_cxxflags.m4 configure.ac
2005 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
2007 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2009 * programs/sndfile-info.c
2010 Apply patch from Conrad Parker to calculate and display total duration when
2011 more than one file is dumped.
2013 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2015 * configure.ac src/Makefile.am
2016 Tweaks to generation of Symbols files.
2018 * tests/win32_ordinal_test.c
2019 Update tests for above changes.
2021 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2024 When merging broadcast info, make sure to clear the destination field
2025 before copying in the new data.
2027 * programs/test-sndfile-metadata-set.py
2028 Add test for the above.
2031 Fix checking of required coding_history_size.
2033 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2035 * tests/command_test.c
2036 Add test to detect if coding history is truncated.
2039 Fix truncation of coding history.
2041 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2043 * tests/command_test.c
2044 Add broadcast_coding_history_size test.
2047 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
2050 Add code to prevent infinite loop on malformed file.
2052 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
2053 Rationalize and improve error handling when parsing 'fmt ' chunk.
2056 Simplify and remove cruft.
2057 Check for correct Octave version.
2060 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
2062 * Octave/sndfile.cc Octave/PKG_ADD
2063 Add Octave function sfversion which returns the libsndfile version that the
2064 module is linked against.
2066 * Octave/Makefile.am
2067 Bunch of build and 'make distcheck' fixes.
2069 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2072 Return 1 if SFC_SET_BROADCAST_INFO fails.
2074 * programs/test-sndfile-metadata-set.py
2075 Update for new programs directory, exit on any error.
2077 * tests/error_test.c
2078 Fix failure behaviour in error_number_test.
2080 * src/common.h src/sndfile.c
2081 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
2084 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
2087 Fix generation of added coding history.
2089 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2091 * programs/sndfile-metadata-get.c programs/sndfile-info.c
2092 Exit with non-zero on errors.
2094 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2096 * examples/sndfile-to-text.c examples/Makefile.am
2097 Add a new example program and hook it into the build.
2099 * examples/ programs/
2100 Add a new directory programs and move sndfile-info, sndfile-play and other
2101 real programs to the new directory, leaving example programs where they
2104 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2107 Automake 1.10 MinGW cross compiling fixes.
2109 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2111 * examples/sndfile-play.c
2112 Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
2113 Fix gcc-4.3 compiler warnings.
2115 * tests/command_test.c
2116 Fix a valgrind warning.
2118 * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
2119 tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
2120 Fix gcc-4.3 compiler warnings.
2122 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2125 Fix termination of desitination string in strncpy_crlf.
2126 When copying BROADCAST_INFO chunk, make sure destination gets correct line
2130 Fix copying of BROADCAST_INFO coding_history field.
2132 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2134 * tests/command_test.c
2135 Add test function instrument_rw_test, but don't hook it into the testing
2138 * src/common.h src/command.c src/sndfile.c src/flac.c
2139 Error code rationalization.
2141 * src/common.h src/sndfile.c
2142 Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
2143 fails due to psf->have_written being true.
2146 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
2148 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2150 * tests/command_test.c
2151 Improve error reporting when '\0' is found in coding history.
2154 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2157 Convert all coding history line endings to \r\n.
2159 * tests/command_test.c
2160 Add test to make sure all line endings are converted to \r\n.
2162 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2165 Changed the order of coding history fields.
2167 * tests/command_test.c
2168 Update bextch test to cope with previous change.
2171 Add extra length check when copying broadcast info data.
2173 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2175 * tests/utils.tpl tests/pcm_test.tpl
2176 Update check_file_hash_or_die to use 64 bit hash.
2178 * tests/checksum_test.c tests/Makefile.am
2179 Add new checksum_test specifically for lossy compression of headerless
2182 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2185 Seek to psf->dataoffset before decoding first block.
2188 Fix detection of mpc2k files on big endian systems.
2190 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2193 Use '\r\n' newlines in Coding History as required by spec.
2195 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2197 * src/test_conversions.c
2198 Use int64_t instead of 'long long'.
2200 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2202 * examples/sndfile-metadata-set.c
2203 Remove --bext-coding-history-append command line option because it didn't
2206 * examples/sndfile-metadata-(get|set).c
2209 * examples/test-sndfile-metadata-set.py
2210 Start work on test coding history.
2212 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2214 * README doc/win32.html
2215 Bring these up to date.
2218 Fix parsing of REX files.
2220 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2223 Use intptr_t instead of long for return value of _get_osfhandle.
2225 * src/test_conversions.c src/test_endswap.tpl
2226 Fix printing of int64_t values.
2228 * examples/sndfile-play.c
2231 * tests/win32_ordinal_test.c
2232 Fix calling of GetProcAddress with ordinal under win64.
2237 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2240 Rename copy_data.[ch] to common.[ch]. Fix build.
2241 Move code from sndfile-metadata-set.c to common.c.
2243 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
2246 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2248 * doc/tutorial.html doc/Makefile.am
2249 Add file doc/tutorial.html and hook into build/dist system.
2251 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2253 * examples/sndfile-metadata-set.c
2254 Clean up handling of bext command line params.
2256 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2259 Add handling/skipping of a couple of new chunk types.
2261 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2264 Add -funsigned-char to CFLAGS if the compiler supports it.
2266 * examples/sndfile-metadata-(get|set).c
2267 Add handling for more metadata types.
2269 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2272 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
2273 field of SF_INFO into component parts.
2276 Use new macros everywhere it is appropriate.
2278 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2280 * examples/sndfile-bwf-set.c
2283 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2285 * examples/sndfile-bwf-set.c
2286 Add --info-auto-create-date command line option.
2288 * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
2289 examples/Makefile.am examples/test-sndfile-bwf-set.py
2290 Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
2291 Change command line args.
2293 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2296 Allow 'PAD ' chunk to be modified in RDWR mode.
2298 * src/sndfile.h.in src/sndfile.c
2299 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
2301 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
2306 Fixes to make sure all tests pass.
2308 * tests/Makefile.am tests/string_test.c
2309 Add string tests (not yet passing).
2311 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2314 First pass at writing RF64 now working.
2316 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2318 * examples/sndfile-convert.c
2319 Add SF_FORMAT_RF64 to format_map.
2321 * src/common.h src/sndfile.c
2322 More RF64 support code.
2324 * examples/sndfile-bwf-set.c
2325 Fix the month number in autogenerated date string and use hypen in date
2328 * examples/test-sndfile-bwf-set.py
2331 * examples/sndfile-info.c
2332 When called with -i or -b option, operate on all files on command line, not
2335 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2338 New file to handle RF64 (WAV like format supportting > 4Gig files).
2340 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
2341 Hook the above into build so hacking can begin.
2344 Improve log message when pcm_init fails.
2346 * src/sndfile-info.c
2347 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
2350 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2352 * tests/string_test.c
2353 Polish string_multi_set_test.
2356 In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
2357 length has changed).
2358 Minor fixes in wav_write_strings.
2359 Write PAD chunk with default endian-ness, not a specific endian-ness.
2361 * examples/test-sndfile-bwf-set.py
2362 Add Python script to test sndfile-bwf-set/get.
2364 * examples/sndfile-bwf-set.c
2368 Merge function wavex_write_header into wav_write_header, deleting about 70
2372 Double value of SF_MAX_STRINGS.
2374 * tests/string_test.c
2375 Add string tests for WAVEX and RIFX files.
2377 * tests/command_test.c
2378 Add broadcast test for WAVEX files.
2380 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2382 * tests/string_test.c
2383 Add a new string_rdwr_test (currently failing for WAV).
2384 Add a new string_multi_set_test (currently failing).
2386 * tests/command_test.c
2387 Add new broadcast_rdwr_test (currently failing).
2390 Fix to WAV parser to allow 'bext' chunk to be updated in place.
2391 In wav_write_tailer, seek to psf->dataend if its greater than zero.
2394 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
2397 Test for <sys/time.h> and gettimeofday.
2400 Use gettimeofday() to initialize psf_rand_int32.
2402 * src/common.h src/sndfile.c
2403 Add unique_id field to SF_PRIVATE struct.
2405 * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
2406 Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
2408 * src/common.h src/strings.c
2409 Add function psf_location_string_count.
2411 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2414 Test for localtime and localtime_r.
2416 * examples/sndfile-convert.c
2417 In function copy_metadata(), copy broadcast info if present.
2419 * examples/copy_data.[ch] examples/Makefile.am
2420 Break some functionality out of sndfile-convert.c so it can be used in
2421 examples/sndfile-bwf-set.c.
2424 Add new function create_short_sndfile().
2426 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
2427 examples/Makefile.am
2428 Add new files and hook into build.
2430 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2433 Fix comments. Patch from Mark Glines.
2435 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2438 Use zero_data_test on Ogg/Vorbis files.
2441 Fix segfault when closing an Ogg/Vorbis file that has been opened for write
2442 but had no actual data written to it. Bug reported by Chinoy Gupta.
2445 Make sure to run mist_test on Ogg/Vorbis files.
2447 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2449 * regtest/Makefile.am
2450 Use SQLITE3_CFLAGS to locate sqlite headers.
2452 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2454 * doc/index.html doc/FAQ.html
2455 Add notes about which versions of windows libsndfile works on.
2457 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2460 Add a test for correct handling of Ambisonic files. Thanks to Fons
2461 Adriaensen for the test.
2463 * src/wav.c src/wav_w64.c
2464 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
2466 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2469 Fix detection/enabling of external libs.
2471 * M4/extra_pkg.m4 M4/Makefile.am
2472 Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
2473 PKG_CHECK_MODULES. The new macro prints the version number of the package
2474 it is searching for.
2476 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2479 Apply a fix from Axel Röbel where if the second loop in the instrument
2480 chunk is none, the loop mode is written into the first loop.
2482 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2484 * src/test_float.c src/test_main.(c|h) src/Makefile.am
2485 Add new file to test functions float32_(le|be)_(read|write) and
2486 double64_(le|be)_(read|write). Hook into build and testsuite.
2488 * src/double64.c src/float32.c
2489 Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
2490 for reporting this bug.
2493 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
2496 * examples/sndfile-info.c
2497 Print out the BEXT time reference in a sensible format.
2499 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2505 Add call to ogg_stream_clear to fix valgrind warning.
2508 Fix x86_64 compile issue.
2510 * configure.ac src/Makefile.am src/flac.c src/ogg.c
2511 Link to external versions of FLAC, Ogg and Vorbis.
2513 * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
2514 tests/vorbis_test.c tests/write_read_test.tpl
2515 Fix tests when configured with --disable-external-libs.
2517 * tests/external_libs_test.c tests/Makefile.am
2518 Add new test and hook into build and test suite.
2521 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
2522 the right data when external libs are disabled.
2524 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2526 * tests/write_read_test.tpl
2527 Add a test for extending a file during write by seeking past the current
2531 Allow seeking past end of file during write.
2533 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2535 * doc/api.html doc/command.html
2536 Move all information about the sf_command function to command.html and add
2537 a link from documentation of the sf_read/write_raw function to the
2538 SFC_RAW_NEEDS_ENDSWAP command.
2540 * doc/index.html doc/FAQ.html doc/libsndfile.css
2541 Minor documentation tweaks.
2543 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2548 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2550 * tests/error_test.c
2551 Add a test to make sure if file opened with sf_open_fd, and then the file
2552 descriptor is closed, then sf_close will return an error code. Thanks to
2553 Dave Flogeras for the bug report.
2556 Make sf_close return an error is the file descriptor is already closed.
2558 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2561 Set object format to aout for OS/2. Thanks to David Yeo.
2563 * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
2564 Add ability to read MPC 2000 file.
2566 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
2568 Add tests for MPC 2000 file format.
2570 * examples/sndfile-convert.c
2571 Allow conversion to MPC 2000 file format.
2573 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2575 * src/VORBIS/lib/codebook.c
2576 Sync from upstream SVN.
2578 * autogen.sh configure.ac
2581 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2584 Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
2585 The patch as supplied segfaulted and required many hours of debugging.
2588 Sync from upstream SVN.
2590 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2593 Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
2596 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2599 Add calls to sf_close() where needed.
2601 * tests/utils.tpl tests/multi_file_test.c
2602 Always pass 0 as the third argument to open when OS_IS_WIN32.
2604 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2607 Add files test_main.[ch].
2608 Collapse all tests into a single executable.
2610 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2613 Sync to upstream CVS.
2615 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2618 Make SF_MIN and SF_MAX macros MinGW friendly.
2620 * examples/sndfile-(info|play).c
2621 Use Sleep function from <windows.h> instead of _sleep.
2623 * tests/locale_test.c
2624 Disable some tests when OS_IS_WIN32.
2626 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
2627 src/FLAC/src/share/utf8/utf8.c
2630 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2633 Tweaks to pcm16 <-> float conversion answer.
2635 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2638 Sync to SVN upstream.
2641 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
2643 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2645 * examples/sndfile-jackplay.c
2646 Minor tweaks to warning message printed when compiled without libjack.
2648 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2650 * tests/peak_chunk_test.c
2651 Improve read_write_peak_test to find more errors. Inspired by example
2652 provided by Nicolas Castagne.
2655 Another SFM_RDWR fix shown up by above test.
2657 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2660 Fix reading of COMM encoding string.
2662 * src/chunk.c src/common.h src/Makefile.am
2663 New file for storing and retrieving info about header chunks. Hook into
2667 Use new chunk logging to fix problem with AIFF in RDWR mode.
2669 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2672 Add WVE to the list of major formats.
2674 * tests/aiff_rw_test.c
2675 Fix error reporting.
2677 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2680 Add internal functions str_of_major_format, str_of_minor_format,
2681 str_of_open_mode and str_of_endianness.
2683 * tests/write_read_test.tpl
2684 Fix reporting of errors in new_rdwr_XXXX_test.
2686 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2688 * examples/sndfile-play.c
2689 Apply patch from Yair K. to fix compiles with OSS v4.
2691 * src/common.h src/float32.c src/double64.c
2692 Rename psf->float_enswap to psf->data_endswap.
2694 * src/sndfile.h.in src/sndfile.c src/pcm.c
2695 Add command SFC_RAW_NEEDS_ENDSWAP.
2698 Add test for SFC_RAW_NEEDS_ENDSWAP.
2701 Document SFC_RAW_NEEDS_ENDSWAP.
2703 * tests/peak_chunk_test.c
2704 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
2707 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2709 * examples/sndfile-cmp.c
2710 Add new example program contributed by Conrad Parker.
2712 * examples/Makefile.am
2715 * doc/development.html
2716 Change use or reconfigure.mk to autogen.sh.
2718 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2720 * tests/win32_test.c
2721 Add another win32 test.
2724 Add function file_length_fd which wraps fstat.
2727 Run the multi_file_test on AU files.
2729 * tests/multi_file_test.c
2730 Use function file_length_fd() instead of file_length() to overcome stupid
2731 win32 bug. Fscking hell Microsoft sucks so much.
2733 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2736 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
2738 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2741 Allow use of either LGPL v2.1 or LGPL v3.
2743 * tests/header_test.tpl
2744 Add header_shrink_test from Axel Röbel.
2747 Add fix from Axel Röbel for writing files with float data but no peak
2748 chunk (ie peak chunk gets removed after the file is opened).
2750 * src/aiff.c tests/header_test.tpl
2751 Apply similar fix to above for AIFF files.
2753 * src/wav.c tests/header_test.tpl
2754 Apply similar fix to above for WAVEX files.
2757 Add Ogg/Vorbis to 'get format' commands.
2759 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2762 Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
2763 Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
2766 Add stereo seek tests.
2768 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2771 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
2772 case supplied by Bodo.
2774 * tests/utils.(def|tpl)
2775 Add compare_XXX_or_die functions.
2777 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2780 Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
2781 misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
2783 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2785 * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
2786 Merge in code from the vox-patch branch. Thanks to Robs for the patch
2787 which fixes a long standing bug in the VOX codec.
2789 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2791 * examples/sndfile-convert.c
2792 Fix handling of -override-sample-rate=X option.
2794 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2796 * src/ogg.c src/VORBIS
2797 Merge in Ogg Vorbis support from John ffitch of the Csound project.
2799 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2802 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
2803 recognise 'vox8' as and 'vox' as 8kHz files.
2806 Detect libjack (JACK Audio Connect Kit).
2808 * examples/sndfile-jackplay.c examples/Makefile.am
2809 Add new example program to play sound files using the JACK audio server.
2810 Thanks to Jonatan Liljedahl for allowing this to be included.
2812 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2815 Update support table with SD2 and FLAC.
2817 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2820 Fix calculation of internal value psf->read_current when attempting to read
2821 past end of audio data.
2822 Remove redundant code.
2824 * tests/lossy_comp_test.c
2825 Add read_raw_test to check that raw reads do not go past the end of the
2827 Clean up error output messages.
2830 Add code to prevent sf_read_raw from reading past the end of the audio data.
2833 Add the wav_pcm lossy_comp_test.
2835 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2837 * configure.ac src/Makefile.am src/create_symbols_file.py
2838 More OS/2 fixes from David Yeo.
2840 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2842 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
2843 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
2845 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2848 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
2850 * src/create_symbols_file.py
2851 Add support for OS/2 contributed by David Yeo.
2853 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2856 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
2859 Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
2860 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
2861 Use -fgnu-inline to prevent stupid warnings.
2863 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2866 Increase the printing width for print_test_name().
2868 * tests/command_test.c tests/Makefile.am
2869 Add tests for correct updating of broadcast WAV coding history.
2871 * examples/sndfilehandle.cc examples/Makefile.am
2872 Add example program using the C++ SndfileHandle class.
2874 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2876 * src/common.h src/sndfile.c
2877 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
2879 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2882 Identify sample-rate/sample-size/channels by resource id.
2884 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2886 * src/broadcast.c src/common.h src/sndfile.c
2887 Improvements to handling of broadcast info in WAV files. Thanks to Frederic
2888 Cornu and other for their input.
2890 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2892 * src/FLAC/include/share/alloc.h
2893 Mingw fix for SIZE_T_MAX from Uli Franke.
2895 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2897 * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
2898 Move tests from open_fail_test.c to error_test.c and remove the former.
2900 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2902 * tests/scale_clip_test.(def|tpl)
2903 Add tests for SFC_SET_INT_FLOAT_WRITE command.
2906 Add docs for SFC_SET_INT_FLOAT_WRITE command.
2908 * examples/sndfile-play.c tests/dft_cmp.c
2909 Fix gcc-4.2 warning messages.
2911 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2913 * src/sndfile.h.in src/sndfile.c
2914 Add command SFC_GET_CURRENT_SF_INFO.
2916 * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
2917 Remove function sf_get_info (only ever in pre-release code).
2919 * tests/command_test.c
2920 Add test for SFC_GET_CURRENT_SF_INFO.
2922 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2925 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
2928 Put config stuff in Cfg directory.
2929 Remove check for inttypes.h.
2931 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2934 Fix writing of 'riff' chunk length and check for correct value in parser.
2936 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2939 Link to MP3 FAQ entry.
2941 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2944 Move the blocksize check to an earlier stage of flac_buffer_copy.
2946 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2949 Huge merge from FLAC upstream.
2951 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2954 Change license to all example programs to BSD.
2956 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2958 * src/FLAC/include/FLAC/metadata.h
2959 Include <sys/types.h> to prevent compile error on OSX.
2961 * Octave/octave_test.sh
2962 Disable test on OSX. Can't get it to work.
2965 Check the blocksize returned from the FLAC decoder to prevent buffer
2966 overruns. Reported by Jeremy Friesner. Thanks.
2968 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2970 * Makefile.am M4/octave.m4
2971 Fix build when Octave headers are not present.
2973 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2975 * doc/development.html
2976 Add note about bzr repository directory looking empty.
2978 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2980 * configure.ac Octave/* M4/octave_*
2981 Bunch of changes to add ability to build GNU Octave modules to read/write
2982 sound files using libsndfile from Octave.
2984 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2986 * acinclude.m4 configure.ac ...
2987 Get rid of acinclude.m4 and replace it with an M4 directory.
2989 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2992 Remove crufty Metrowerks compiler support. Allow header file to be compiled
2993 on windows with both GCC and microsoft compiler.
2995 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2997 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
2998 Clean up floating point tests.
3000 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3003 Fix segfault when COMM chunk length is byte swapped.
3005 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3007 * src/common.h src/mat4.c src/mat5.c src/sndfile.c
3008 Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
3011 Fix crash on AU files with zero channel count. Reported by Ben Alison.
3013 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3016 Fix bug in handling file supplied by Matt Olenik.
3018 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3021 Merge from OGG upstream sources.
3023 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3026 Merge from FLAC upstream sources.
3028 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3031 Fix memory leak; set copy parameter to FALSE in call to
3032 FLAC__metadata_object_vorbiscomment_append_comment.
3035 Add function psf_rand_int32().
3037 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3040 Merge from FLAC upstream sources.
3042 * src/strings.c tests/string_test.c tests/Makefile.am
3043 Make sure string tests for SF_STR_LICENSE actually works.
3045 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3047 * tests/string_test.c
3048 Add ability to test strings stored in metadata secion of FLAC files.
3051 Fix logic for testing if audio data has been written and string is added.
3052 Make sure SF_STR_ALBUM actually works.
3055 Finalize reading/writing string metadata. Tests pass.
3057 * src/sndfile.h.in tests/string_test.c src/flac.c
3058 Add string type SF_STR_LICENSE, update test and use for FLAC files.
3061 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
3063 * src/common.h src/double64.c src/float32.c src/sndfile.c
3064 Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
3066 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3069 Apply patch from Ed Schouten to read artist and title metadata from FLAC
3071 Improve reporting of FLAC metadata.
3073 * src/sndfile.h.in tests/string_test.c src/flac.c
3074 Add string type SF_STR_ALBUM, update test and use for FLAC files.
3076 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3079 Merge from upstream CVS.
3081 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3084 Update from upstream CVS.
3086 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3089 Add extra tests for when the SndfileHandle constructor fails.
3092 Make sure failure to open the file in the constructor does not allow later
3093 calls to other methods to fail.
3095 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3098 Add function write_mono_file.
3100 * tests/generate.[ch] tests/Makefile.am
3101 Add files generate.[ch] and hook into build.
3103 * tests/write_read_test.tpl
3104 Add multi_seek_test.
3107 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
3110 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3115 * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
3116 Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
3118 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3121 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
3123 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3126 Fix array indexing bug raised by Bruce Sharpe.
3128 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3130 * src/FLAC/src/share/getopt/getopt.c
3131 Fix Mac OSX / PowerPC compile warnings.
3134 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
3136 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3139 Add Q/A about MP3 support.
3141 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3143 * doc/new_file_type.HOWTO
3146 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3149 Fix a couple bad parameters with psf_log_printf.
3152 Improve error reporting.
3154 * src/common.h src/common.c
3155 Constify psf_hexdump.
3157 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3160 Ditch and re-import required FLAC code.
3163 Force FLAC__HAS_OGG variable to 1.
3165 * src/FLAC/src/libFLAC/stream_encoder.c
3166 Fix compiler warnings.
3168 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3170 * configure.ac tests/win32_ordinal_test.c
3171 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
3174 * src/G72x/Makefile.am src/Makefile.am
3175 Use $(EXEEXT) where possible.
3177 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3179 * src/wve.c src/common.h src/sndfile.c
3180 Complete definition of SfE_WVE_NO_WVE error message.
3183 Fix error in files generated on big endian systems. Robustify parsing.
3185 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3188 Fix clipping of double to short conversions on 64 bit systems.
3190 * src/flac.c regtest/database.c tests/cpp_test.cc
3191 Fix compile warnings for 64 bit systems.
3193 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3195 * src/wav.c src/wav_w64.c
3196 Use audio detect function when 'fmt ' chunk data is suspicious.
3199 Add ugly hack to remove -Werror from some Makefiles.
3201 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3203 * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
3204 Add patch from André Pang to clean up compiles on OSX.
3206 * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
3207 examples/sndfile-convert.c
3208 Merge changes from Reuben Thomas to improve WVE support.
3210 * tests/lossy_comp_test.c tests/Makefile.am
3211 Add tests for WVE files.
3213 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3216 Add a static SndfileHandle::formatCheck method as suggested by Jorge
3219 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3222 Fixed a bug in sf_error() where the function itself was being compared
3223 against zero. Add a check for a NULL return from peak_info_calloc. Fix a
3224 possible NULL dereference.
3226 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3229 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
3230 opening file for RDWR.
3233 Improve error message for SFE_BAD_RDWR_FORMAT.
3236 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
3238 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3241 Add Q/A 19 on project files.
3243 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3246 Guard agains MacOSX universal binary compiles.
3249 Add Q/A 18 and clean up Q3.
3251 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3254 Add support for 'in24' files.
3256 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3258 * src/wav.c src/wav_w64.c src/wav_w64.h
3259 Start work towards detecting ausio codec type from the actual audio data.
3261 * src/audio_detect.c src/test_audio_detect.c
3262 Add new file and its unit test.
3264 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3266 * examples/cooledit-fixer.c examples/Makefile.am
3267 Remove old broken example program.
3269 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3271 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
3272 Add function sf_get_info.
3274 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3276 * examples/sndfile-play.c
3277 For ALSA, use the 'default' device instead of 'plughw:0'.
3279 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3282 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
3284 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3286 * doc/development.html doc/embedded_files.html man/sndfile-play.1
3287 Minor documentation fixes. Thanks Reuben Thomas.
3289 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3291 * examples/sndfile-convert.c
3292 Add -override-sample-rate command line option.
3294 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3297 Force errno to zero at start of some tests.
3300 Minor clean up of error handling.
3303 Remove an assembler test which was failing on OSX.
3305 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3308 Fix the definition of SF_PLATFORM_S64 for MinGW.
3310 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
3311 Fix path problems for MinGW.
3313 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3318 * src/Makefile.am src/flac.c
3319 Clean up include paths.
3321 * src/test_conversions.c
3322 New file to test psf_binheader_readf/writef functions.
3324 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
3325 Clean up unit testing.
3328 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
3331 * src/test_conversions.c
3332 Complete unit test for above fix.
3334 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3337 More refactoring to clean up psf_open_file() and vairous sf_open()
3340 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3343 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
3344 files of over 4 gigabytes.
3346 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3349 Refactor function psf_open_file() to provide a single return point.
3352 Fix permission_test to ensure that read only file can be created.
3354 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3357 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
3360 * src/aiff.c src/svx.c src/wav.c
3361 Add warning in log if files are larger than 4 gigabytes in size.
3363 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3365 * src/FLAC src/OGG confgure.ac src/Makefile.am
3366 Pull in all required FLAC and OGG code so external libraries are not
3367 needed. This makes compiling on stupid fscking Windoze easier.
3369 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3372 Add workaround for switched sample rate and sample size.
3375 Add workaround for excessively long coding history in the 'bext' chunk.
3377 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3379 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
3380 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
3382 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3384 * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
3385 Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
3386 files. Still needs a little tweaking before its ready for release.
3389 Use the UNUSED macro to prevent compiler warnings.
3391 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3394 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
3395 to David Viens for providing two example files.
3397 * src/common.(c|h) src/aiff.c
3398 Add a function psf_sanitize_string and use it in aiff.c.
3400 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3403 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
3405 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3408 Fix problem related to recent test coverage changes.
3410 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3412 * configure.ac tests/Makefile.am
3413 Add --enable-test-coverage configure option.
3415 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3418 Add an std::string SndfileHandle constructor.
3420 * tests/scale_clip_test.tpl
3421 Fix the 'make distcheck' target.
3423 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3425 * src/double64.c src/float32.c
3426 Add optional clipping on float file data to int read data conversions.
3428 * tests/tests/scale_clip_test.(def|tpl)
3429 Add test for above new code.
3431 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3433 * tests/aiff_rw_test.c
3434 Add 'MARK' chunks to make sure they are parsed correctly.
3436 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3439 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
3440 help debug the problem.
3442 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3445 Make the SF_MIN and SF_MAX macros at least partially type safe.
3447 * tests/lossy_comp_test.c
3448 Fix overflow problems when ensuring that signalis not zero.
3450 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3452 * configure.ac docs/*.html
3453 Changes for release 1.0.17.
3455 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3458 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
3459 for notifying me of this.
3461 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3464 Add writeSync method.
3465 Add copy constructor and assignment operator (thanks Daniel Schmitt).
3466 Add methods readRaw and writeRaw.
3467 Make read/write/readf/writef simple overlaods instead of templates (thanks
3468 to Trent Apted for suggesting this).
3473 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3476 Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
3477 Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
3478 openReadWrite methods.
3479 Add const to SF_INFO pointer in Sndfile constructor.
3480 Make the destrictor call the close() method.
3485 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3488 Remove the generated file so "make distcheck" passes.
3491 Add sndfile.hh to distributed header files.
3494 Change the license for the C++ wrapper to modified BSD.
3496 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3504 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3507 Add extern C to generated header file.
3510 Work towards completing this.
3512 * tests/cpp_test.cc tests/Makefile.am
3513 Add a C++ test and hook into build.
3516 Add appropriate CXXFLAGS.
3518 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3521 Test if compiler supports -Wpointer-arith.
3524 Fix a warning resulting from -Wpointer-arith.
3526 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3528 * examples/sndfile-play.c
3529 Explicitly set endian-ness as well as setting 16 bit output.
3531 * examples/sndfile-info.c
3532 Make sure to parse info if file fails to open.
3535 Handle parse error a little better.
3538 Minor clean up, add detection of IPP ITU G723.1.
3540 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3543 Make sure psf->dataoffset gets reset to zero when openning headersless
3544 files based on the file name extension.
3546 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3548 * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
3549 tests/write_read_test.(tpl|def)
3550 Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
3551 break strict-aliasing rules".
3553 * examples/cooledit-fixer.c
3554 More fixes like above.
3556 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3559 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
3563 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
3565 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3568 Fixed detection of S_IRGRP.
3570 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3573 Add conversion SF_INSTRUMENT data when present.
3575 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3577 * doc/development.html
3578 Removed references to tla on windows.
3580 * src/common.h src/sndfile.c
3581 Add separate void pointers for file containter and file codec data to
3582 SF_PRIVATE struct. Still need to move all existing fdata pointers.
3584 * tests/write_read_test.tpl
3585 Change the order of some tests.
3588 When writing 'AIFC' files, make sure get an 'FVER' gets added.
3590 * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
3591 src/(sndfile|voc|vox_adpcm|xi).c
3592 Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
3594 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3596 * Win32/testprog.c Win32/Makefile.am
3597 Add a minimal win32 test program.
3599 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
3600 Update readme and Mingw build script.
3602 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3604 * configure.ac acinclude.m4
3605 Minor fixes for Solaris.
3607 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3609 * src/test_endswap.(def|tpl)
3610 Fix printf formatting for int64_t on 64 bit machines.
3612 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3614 * src/binhead_check.py
3615 New file to check for bad parameters passed to psf_binheader_writef().
3618 Hook into test suite.
3620 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
3621 Fix bugs found by new test program.
3624 Clean up double64_get_capability().
3626 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3629 Fix a bug on x86_64 where an int was being passed via stdargs and being
3630 read using size_t which is 64 bits. Thenks to John ffitch for giving me a
3633 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3635 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
3637 Fix a couple of signed/unsigned problems.
3639 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3641 * tests/command_test.c
3642 Add channel map tests.
3644 * src/common.h src/sndfile.c
3645 Add a pointer to the SF_PRIVATE struct and make sure it gets freed in
3648 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3650 * configure.ac doc/(command|index|api).html NEWS README
3651 Updates for 1.0.16 release.
3654 Define enums for channel mapping.
3656 * examples/sndfile-info.c
3657 Clean up usage of SF_INFO struct.
3659 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3662 Add function testing function exit_if_true().
3664 * tests/floating_point_test.tpl
3665 Fix a problem where the test program was not exiting when the test failed.
3667 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3669 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
3670 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
3673 Document new commands. Other minor updates.
3675 * tests/peak_chunk_test.c
3676 Update tests for new commands.
3678 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3680 * tests/peak_chunk_test.c
3681 Add test for RIFX and WAVEX files.
3682 Try and confuse the PEAK chunk writing by enabling and disabling it.
3685 Fix a bug where enabling and disabling PEAK chunk was screwing up.
3687 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3690 Add the block of 190 reserved bytes into this struct to allow for
3693 * src/wav.c src/sndfile.c src/broadcast.c
3694 Significant cleanup of broadcast wave stuff.
3696 * examples/sndfile-info.c
3699 * tests/command_test.c tests/Makefile.am
3700 Complete bext tests, hook test in test suite.
3702 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3705 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
3708 * src/sndfile.c src/common.h src/wav.c
3709 Clean up knock on effects of above chnage.
3711 * examples/sndfile-info.c
3712 Add -b command line option to usage message.
3713 Clean up output of broadcast wave info.
3716 Ignore and skip the 'levl' chunk.
3718 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3721 Fix handling of --enable and --disable configure args. Thanks to Diego
3722 'Flameeyes' Pettenò who sent the patch.
3724 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3727 Make it really clear that although the MSVC++ cannot compile libsndfile,
3728 the precompiled DLL can be used in C++ programs compiled with MSVC++.
3730 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3733 Fix bug in writing of INST chunk in AIFF files.
3734 Fix potential bug in writing MARK chunks.
3737 Make sure the instrument chunk can only be written at the start of the file.
3739 * tests/command_test.c
3740 Add check of log buffer.
3743 Add usage of space character to psf_binheader_writef.
3745 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3747 * src/Makefile.am tests/Makefile.am
3748 Remove --source-time argument from autogen command lines.
3751 New file for EBU Broadcast chunk in WAV files.
3753 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
3754 Add patch from Paul Davis implementing read/write of the BEXT chunk.
3756 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3758 * Win32/README-precompiled-dll.txt
3759 New file descibing how to use the precompiled DLL.
3762 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
3765 Bump version to 1.0.15.
3767 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3770 On read, only add the endian flag if the file is big endian.
3773 Fixed writing of APDCM coeffs in RIFX files.
3775 * tests/write_read_test.tpl tests/lossy_comp_test.c
3776 Add tests for RIFX files.
3778 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3780 * Mingw-make-dist.sh
3781 Bunch of improvements.
3784 Update MinGW program versions.
3786 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3788 * src/create_symbols_file.py
3789 Fix the library name in created win32 DEF file. Add correct DLL name for
3792 * Win32/Makefile.am tests/Makefile.am
3793 Remove redundant files, add win32_ordinal_test to test suite.
3795 * tests/win32_ordinal_test.c
3796 Update to do test in cygsndfile-1.dll as well.
3799 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
3801 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
3802 Apply large patch from Jesse Chappell which adds support for RIFX files.
3804 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3807 Add Mingw-make-dist.sh to the extra dist files.
3810 Fix setting SHLIB_VERSION_ARG for MinGW.
3812 * tests/win32_ordinal_test.c
3813 New test program to test that the win32 DLL ordinals agree with the DEF
3816 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3819 Add a static inline function to convert an int to a size_t. This will be
3820 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
3822 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
3823 Fix an ia64 problem where a varargs function was being passed an int in
3824 some places and a size_t in other places.
3827 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
3828 to the start of the resource fork.
3830 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3832 * Mingw-make-dist.sh
3833 Add a shell script to build the windows binary/source ZIP file.
3836 Add download link for windows binary/source ZIP file. Add links for GPG
3840 Remove info about building using microsoft compiler.
3843 Bump version to 1.0.14.
3845 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3848 Improve logging of errors in resource fork parser.
3850 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3852 * Win32/Makefile.msvc
3853 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
3855 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3858 Make sure return values are initialised header buffer is full.
3861 Add workarounds for messed up WAV files.
3863 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3866 Undef HAVE_INTTYPES_H for win32.
3868 * tests/command_test.c
3869 Don't exit on error in instrument test for XI files.
3872 Bump version to 1.0.13.
3874 * doc/*.html NEWS README
3875 Update version numbers.
3877 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3880 Start work on add read/write of instrument chunks.
3882 * src/command_test.c
3883 Add tests for XI instrument chunk.
3885 * tests/largefile_test.c tests/Makefile.am
3886 Add new test and hook it into the build system. This test will not be run
3887 automatically because it requires 3 Gig of disk space and takes 3 minutes
3890 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3892 * examples/sndfile-play.c
3893 Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
3896 Make sure length of header buffer can hold header plus strings. Thanks Axel
3899 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3901 * src/sndfile.h.in src/aiff.c src/wav.c
3902 Apply a patch from John ffitch (Csound project).
3903 Add detune field to SF_INSTRUMENT struct.
3904 Add reading/writing instrument chunks to WAV files.
3906 * tests/command_test.c
3907 Update SF_INSTRUMENT tests.
3910 Hook instrument tests into test suite.
3912 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3915 Check for <inttypes.h> because some broken systems (like Solaris) don't have
3916 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
3918 * src/sfendian.h src/common.h
3919 Use <inttypes.h> if <stdint.h> is not available.
3921 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3923 * tests/peak_chunk_test.c
3924 Extend and clean up tests.
3927 Fix a bug that prevented the turning off of PEAK chunks.
3929 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3931 * tests/error_test.c
3932 Make the test distclean correct.
3935 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
3937 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3939 * src/aiff.c tests/command_test.c
3940 Apply a big patch from John ffitch (Csound project) to add reading and
3941 writing of instrument chunks to AIFF files. Also update the test.
3943 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3945 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
3946 Move test function dump_data_to_file() to utils.tpl.
3948 * tests/error_test.c tests/Makefile.am
3949 Updates, including a new test to test that sf_error() returns a valid error
3952 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3954 * examples/list_formats.c
3955 Make sure the SF_INFO struct is memset to all zero before being used.
3956 Thanks to Stephen F. Booth.
3959 Make the return value of sf_error() match the API documentation.
3961 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3963 * examples/sndfile-convert.c
3964 Allow conversion to raw gsm610.
3966 * src/common.h src/sndfile.c src/au.c
3967 Remove au_nh_open() and all references to it (wasn't working anyway).
3969 * tests/headerless_test.c
3970 Add new test for file extension based detection.
3973 Rejig file extension based file type detection.
3975 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3978 Add "gsm" as a recognised file extension when no magic number can be found.
3980 * tests/lossy_comp_test.c tests/Makefile.am
3981 Test headerless GSM610.
3983 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3986 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
3988 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3991 Add more reporting of 'fmt ' chunk for G721 encoded files.
3994 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
3996 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3998 * src/G72x/g72x.[ch]
3999 Minor cleanup of interface.
4001 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4004 Removed the horribly broken and non-functional OGG implementation when
4005 --enable-experimental was enabled. When OGG does finally work it will be
4011 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4013 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
4014 Add support for G721 encoded WAV files.
4017 Update support matrix.
4019 * tests/lossy_comp_test.c
4020 For file formats that support it, add string data after the audio data and
4021 make sure it isn't treated as audio data on read.
4024 Add code to ensure that the container close function (ie for WAV files) gets
4025 called after the codec's close function. This allows GSM610 encoded WAV files
4026 to have string data following the audio data.
4027 Add an AIFF specific check on psf->datalength.
4030 Simplify wav_close function.
4033 Make sure the tailer data gets written at an even file offset. Pad if
4037 Replace the close function pointer in SF_PRIVATE with separate functions
4038 codec_close and container_close. The former is always called first.
4041 Fix knock on effects of above.
4043 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4045 * examples/sndfile-info.c
4046 Complete dumping SF_INSTRUMENT data.
4048 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
4049 Add extra checks in *_init function.
4051 * tests/lossy_comp_test.c
4052 Add a string comment to the end of the files to make sure that the decoder
4053 doesn't decode beyond the end of the audio data section.
4055 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4057 * examples/sndfile-info.c
4059 Start work on dumping SF_INSTRUMENT data.
4061 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4063 * src/sndfile.h.in src/common.h src/common.c
4064 Update definition of SF_INSTRUMENT struct and create a function to allocate
4065 and initialize the struct (input from David Viens).
4066 Clean up definition of SF_INSTRUMENT struct.
4068 * src/wav.c src/wav_w64.c
4069 Add support for Ambisoncs B WAVEX files (David Viens).
4071 * src/aiff.c src/wav.c src/wav_w64.c
4072 Start work on reading/writing the SF_INSTRUMENT data.
4075 Add code to get and set SF_INSTRUMENT data.
4077 * tests/command_test.* tests/Makefile.am
4078 Add test for set and getof SF_INSTRUMENT data.
4079 The file command_test.c is no longer autogen generated.
4081 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4086 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4088 * tests/lossy_comp_test.c
4091 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4094 Ensure sfconfig.h is included before any other header file.
4097 Add comments documenting the three sections of the file.
4100 Make sure SF_FORMAT_WAVEX are handled correctly.
4102 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4105 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
4107 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4109 * tests/locale_test.c
4110 Modify the way the unicode strings were encoded so that older compilers
4111 do not complain. Thanks Axel Röbel.
4114 Bump the version to 1.0.12 for release.
4116 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
4117 Update version numbers.
4119 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4122 Fix valgrind error and minor cleanup.
4124 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4126 * src/(au|paf|aiff|w64|wav|svx).c
4127 Make sure structs are initialised.
4129 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4132 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
4134 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
4135 compiler supports it.
4137 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4139 * configure.ac acinclude.m4
4140 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
4142 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4144 * tests/util.(tpl|def)
4145 Make the test_write_*_or_die() functions const safe.
4147 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4150 Make sure the data offset is read from the file header. Thanks to
4151 David A. van Leeuwen for a patch.
4153 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4155 * configure.ac src/sfconfig.h
4156 Check for <locale.h> and the function setlocale().
4157 Set config variables to zero if not found.
4159 * tests/locale_test.c tests/Makefile.am
4160 Add new test program and hook into build/test system.
4162 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4164 * src/common.h src/file_io.c
4165 On windows, use windows specific types for file handles.
4166 Add functions psf_init_files() and psf_use_rsrc().
4169 Make resource fork handling independant of file desciptor/handles.
4171 * src/sndfile.c src/test_file_io.c
4172 Fix knock on effects.
4174 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4177 The lrint and lrintf implementations in Cygwin are both buggy and slow.
4178 Add replacements which were pulled from the Public Domain MinGW math.h
4181 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4183 * tests/(lossy_comp_test|virtual_io_test).c
4184 More Valgrind fixups.
4187 Simplify and correct configuring for Cygwin.
4189 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
4190 Update build for MSVC.
4192 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4194 * tests/lossy_comp_test.c
4195 Make sure to close SNDFILE when exiting test when file format is not seekable.
4197 * tests/(aiff_rw_test|virtual_io_test).c
4198 Do a few valgrind fix ups.
4200 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4202 * src/float32.c src/double64.c
4203 Replace floating point equality comparisons with greater/less comparisons.
4204 Found by John Pavel using the Intel compiler.
4207 New file to clean up issues surrounding autoconf generated preprocessor
4210 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
4211 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
4214 Remove Mac OS9 Metrowerks compiler specific hacks.
4216 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4219 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
4220 prevent Valgrind error.
4222 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4225 Improve documentation of SF_GET_FORMAT_SUBTYPE.
4227 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4229 * examples/sndfile-convert.c
4230 Allow files to be converted to SD2 format.
4233 Fix a bug in reading and writing of SD2 files on little endian CPUs.
4234 Thanks to Matthew Willis for finding this.
4236 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4239 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
4241 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4244 Use $host_os instead of $target_os (thanks to Mo De Jong).
4246 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4249 Apply a patch from Mo DeJong to allow building outside of the source dir.
4252 Fix psf_fsync() for win32.
4254 * src/wav.c src/wav_w64.(c|h)
4255 Move some code from wav.c to wav_w64.c to improve the log output of files of
4256 type WAVE_FORMAT_EXTENSIBLE.
4258 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4260 * src/create_symbols_file.py
4261 Make sure sf_write_fsync is an exported symbol.
4263 * examples/sndfile-convert.c
4264 Add support for writing VOX adpcm files.
4266 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4269 Document the new function sf_write_sync().
4272 Do you plan to support XYZ codec.
4274 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4276 * src/sndfile.h.in src/sndfile.c
4277 Add function sf_write_sync() to the API.
4279 * src/common.h src/file_io.c
4280 Low level implementation (win32 not done yet).
4282 * tests/write_read_test.tpl
4283 Use the new function in the tests.
4285 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4287 * src/common.h src/double64.c src/float32.c src/sndfile.c
4288 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
4289 for position and a double as the value.
4291 * src/aiff.c src/caf.c src/wav.c
4292 Fix knock on effects of above changes.
4295 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
4296 SF_FORMAT_DOUBLE format.
4298 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4301 Fix a bug where a variable was being used without being initialized.
4304 Add extra debug in sf_flac_meta_callback.
4305 Make a bunch of private functions static.
4307 * src/aiff.c src/wav.c
4308 Fix allocation for PEAK_CHUNK (bug found using valgrind).
4310 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4313 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
4314 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
4315 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
4317 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
4318 Fix knock on effects from above.
4320 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4323 Prevent files with unknown chunks from being opened read/write.
4325 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4328 Do not use psf->end_of_file because it never gets set to anything.
4331 Remove unused SF_PRIVATE field end_of_file.
4333 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4336 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
4337 style strings (no terminating character).
4340 Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
4341 so persistent on this issue.
4343 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4346 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
4348 * doc/api.html doc/command.html
4349 Documentation updates (thanks to Kyroz for promoting these updates).
4352 Modify the way the header is written.
4354 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4357 Add a 'free' chunk to the written file so that the audio data starts at
4358 an offset of 0x1000.
4361 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
4363 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4365 * src/caf.c src/sndfile.c
4366 Add support for signed 8 bit integers.
4368 * tests/write_read_test.tpl
4369 Add test for signed 8 bit integers in CAF files.
4372 Update matrix for signed 8 bit integers in CAF files.
4374 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4377 Update sf_check_format() to support CAF.
4379 * examples/sndfile-convert.c
4380 Add support for ".caf" file extension.
4383 Add Apple CAF to the support matrix.
4386 Add file write support.
4389 Fix printing of Frames.
4391 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
4392 tests/header_test.tpl misc_test.c
4393 Add tests for CAF files.
4395 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4398 Fix Q/A about reading/writing memory buffers.
4401 Bunch of work to support reading of CAF files.
4403 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4405 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
4406 Fix sign conversion errors reported by gcc-4.0.
4409 New file for Apple's Core Audio File format.
4411 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
4412 Hook new file into build system.
4414 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4417 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
4418 for supplying an example file.
4420 * src/common.h src/sndfile.c
4421 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
4423 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4425 * src/sndfile.h.in src/common.h src/sndfile.c
4426 Add public error value SF_ERR_MALFORMED_FILE.
4429 When parsing a file header fails and we don't have a system error, then set
4430 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
4433 Allow sqlite support to be disabled in configure script.
4435 * regtest/database.c regtest/sndfile-regtest.c
4436 Fix compiling when sqlite is missing.
4438 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4441 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
4444 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
4446 * tests/virtual_io_test.c
4447 Fill in skeleton test program.
4450 Move virtual i/o tests to end of tests with stdio/pipe tests.
4452 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
4453 Rename some of the virtual i/o functions and data types.
4455 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4458 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
4459 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
4460 Kyroz for pointing out these errors.
4463 Correct documented return values for SFC_SET_NORM_DOUBLE and
4464 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
4466 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4469 Add new files for sndfile-regtest program.
4471 * configure.ac Makefile.am
4472 Hook regetest into build.
4474 * src/wav.c src/common.c
4475 Fix a regression where long ICMT chunks were causing the WAV parser
4478 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4480 * libsndfile.spec.in
4481 Add html docs to the files section as suggested by Karsten Jeppesen.
4484 Fix parsing of odd length ANNO chunks.
4486 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4489 Change the include guard to prevent clashes with other code.
4491 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4493 * examples/sndfile-play.c
4494 Improve error handling in code for playback under Linux/ALSA.
4496 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4499 Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
4502 Add workaround for files created by the Peak audio editor on Mac which can
4503 produce files with very short LIST chunks (thanks to Jonathan Segel who
4506 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4509 Apply a patch From David Viens to make the parsing of basc chunks more
4513 Another patch from David Viens to write correct wavex channel masks for
4514 the most common channel configurations.
4516 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4519 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
4522 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4525 Add a directory field for storing the file directory to the SF_PRIVATE
4529 Grab the directory name when copying the file path.
4532 Cleanup psf_open_rsrc() and also check for resource fork in
4533 .AppleDouble/filename.
4535 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4538 Fix a bug in the printing of the channel count. Bug reported by Michael
4541 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4544 Fix a seek bug for 24 bit PAF files.
4546 * tests/write_read_test.tpl
4547 Update write_read_test to trigger the previously hidden PAF seek bug.
4549 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4551 * src/aiff.c src/w64.c src/wav.c
4552 Do not return a header parse error when the log buffer overflows.
4553 Continuing parsing works even on files where the log buffer does overflow.
4554 This avoids a bug on some weirdo WAV (and other) files.
4556 * src/common.h src/sndfile.c
4557 Remove SFE_LOG_OVERRIN error and its associated error message.
4560 Fix a rsrc fork problem on MacOSX.
4562 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4564 * src/sndfile-play.c
4565 In the ALSA output code, added call to snd_pcm_drain() just before
4566 snd_pcm_close() as suggested by Thomas Kaeding.
4567 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
4568 SNDCTL_DSP_SYNC) just before the close of the audio device.
4570 * tests/virtual_io_test.c tests/Makefile.am
4571 Add a new test program (currently empty) and add it to the build.
4573 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4575 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
4576 src/create_symbols_file.py
4577 Apply patch from Steve Baker which is the beginnings of a virtual
4580 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4582 * src/*.c src/sndfile.h.in
4583 Const-ify the write path throughout the library.
4585 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4587 * doc/development.html
4590 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4595 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4598 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
4600 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4603 Remove some ambiguities in the SD2 FAQ answer.
4605 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4607 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
4608 Updates from autoconfig versions.
4610 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4613 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
4614 instead of COMT chunk.
4616 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4618 * src/file_io.c src/common.h
4619 Change the ptr argument to psf_write() from "void*" to a "const void*".
4620 Thanks to Tobias Gehrig for suggesting this.
4622 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4624 * src/file_io.c src/common.h
4625 Add functions psf_close_rsrc() and read length of resourse fork into
4626 rsrclength field of SF_PRIVATE.
4629 Make sure resource fork gets closed.
4632 Add functions to check for file descriptor leakage.
4634 * src/write_read_test.tpl
4635 Use the file descriptor leak checks.
4638 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
4641 Add SF_LOOP_INFO pointer to SF_PRIVATE.
4643 * src/wav.c src/aiff.c
4644 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
4645 SF_LOOP_INFO data in SF_PRIVATE.
4647 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4650 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
4652 * Win32/config.h Win32/sndfile.h
4656 Add win32 macro for snprintf.
4658 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4661 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
4664 Use macros to make sure writing SD2 files on little endian machines works
4668 Add a delete_file() function which also deletes the resource fork of SD2
4671 * tests/write_read_test.tpl
4672 Use delete_file() so that "make distcheck" works.
4674 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4676 * src/sndfile.c src/file_io.c
4677 Move resource filename construction and testing to psf_open_rsrc().
4679 * src/common.h src/sndfile.c
4680 Add error SFE_SD2_FD_DISALLOWED.
4682 * tests/util.tpl tests/*.(c|tpl)
4683 Add and allow_fd parameter to test_open_file_or_die() so that use of
4684 sf_open_fd() can be avoided when opening SD2 files.
4686 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4689 Update ACID chunk parsing.
4692 More fixes for files with large resource forks.
4694 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4696 * src/common.h src/sndfile.c
4697 Add error numbers and messages for sd2 files.
4700 Reading of sd2 (resource fork version) now seems to be working.
4702 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4705 Update file_io.c to include win32 psf_rsrc_open().
4707 * tests/floating_point_test.tpl
4708 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
4710 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
4713 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4716 Fix endswap_int64_t_(array|copy).
4718 * src/test_endswap.(tpl|def)
4719 Add tests for above and inprove all tests.
4721 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4724 Improve type safety, add endswap_double_array().
4727 Use endswap_double_array() instead of endswap_long_array().
4729 * src/test_endswap.(tpl|def) src/Makefile.am
4730 Add preliminary endswap tests and hook into build system.
4732 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4734 * src/configure.ac src/makefile.am
4735 Finally fix the bulding of DLLs on Win32/MinGW.
4738 Fix running of tests on Win32/MinGW.
4740 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4742 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
4743 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
4746 Document SFC_SET_SCALE_FLOAT_INT_READ.
4748 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4750 * tests/floating_point_test.(tpl|def)
4751 Derived from floating_point_test.c.
4752 Add (float|double)_(short|int)_test functions.
4754 * tests/util.(tpl|def)
4755 Make separate float and double versions of gen_windowed_sine().
4757 * tests/write_read_test.tpl
4758 Fix after changes to gen_windowed_sine().
4760 * src/(float32|double64).c
4761 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
4763 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4766 Fix warnings from automake 1.8 and later.
4768 * examples/sndfile-info.c
4769 Add a "fflush (stdout)" after printing Win32 message.
4771 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4773 * Win32/Makefile.mingw.in
4774 Add a "make install" target.
4776 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4778 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4779 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
4781 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4783 * examples/sndfile-convert.c
4784 Fix a bug converting stereo integer PCM files to float.
4786 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4788 * examples/sndfile-play.c
4789 Appy patch from Conrad Parker to make Mac OSX error messages more
4790 consistent and informative.
4793 Fix a HTML HREF which was wrong.
4796 Add information about when nmake fails.
4798 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4800 * examples/sndfile-play.c
4801 Another patch from Denis Cote to prevent race conditions.
4803 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4805 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
4806 Fix alternative to ISO standard flexible struct array feature for broken
4809 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4811 * src/common.h src/string.c src/sndfile.c
4812 Make sf_set_string() return an error if trying to set a string when in
4815 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4818 Change the unnamed union into a named union so gcc-2.95 will compile it.
4821 Fixes to allow for the above change.
4823 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4825 * examples/sndfile-play.c
4826 Fixes for Win32. Thanks to Denis Cote.
4828 * Win32/Win32/Makefile.(msvc|mingw.in)
4829 Fix build system after removal of sfendian.h.
4830 Build sndfile-convert.
4833 Remove sfendian.c from dependancies.
4835 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4838 Fix typo in comments (thanks Tommi Sakari Uimonen).
4840 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4842 * tests/(a|u)law_test.c
4845 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4847 * src/(pcm|float|double64|ulaw|alaw|xi).c
4848 Optimise read/write loops by removing a redundant variable.
4850 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4853 Remove call to fsync() in psf_close().
4855 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4858 Inline x2y_array() functions where possible.
4861 Detect presence of type int64_t.
4863 * src/sfendian.c src/sfendian.h
4864 Move functions in the first file to the sfendian.h as static inline
4866 Improve endswap_long_*() where possible.
4868 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4871 When converting from unsigned char to float or double, subtract 128 before
4872 converting to float/double rather than after to save a floating point
4873 operation as suggested by Stefan Briesenick.
4875 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
4876 Optimize inner loops by changing the loop counting slightly as suggested
4877 by Stefan Briesenick.
4880 Detect presence of <byteswap.h>.
4883 Use <byteswap.h> if present as suggested by Stefan Briesenick.
4888 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4890 * src/common.h src/*.c
4891 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
4892 double, float, int etc elements.
4894 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4896 * examples/sndfile-play.c
4897 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
4898 mono files on MacOSX.
4900 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4902 * examples/sndfile-convert.c
4903 Move copy_metadata() after the second sf_open().
4905 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4907 * examples/sndfile-convert.c
4908 Fix a bug which caused the program to go into an infinite loop if the source
4909 file has no meta-data. Thanks to Ron Parker for reporting this.
4912 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
4914 * Win32/sndfile.h MacOS9/sndfile.h
4915 Update these as per the above file.
4917 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4919 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
4921 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
4922 Annodex support via liboggz and libfishsound. Thanks Conrad.
4924 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4926 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
4927 Add cast to size_t for some parameters passed to psf_binheader_writef. This
4928 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
4931 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
4934 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4937 Bump version to 1.0.10 ready for release.
4940 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
4941 from distribution tarball.
4943 * tests/header_test.tpl
4944 Fix uninitialised variable.
4946 * src/GSM610/short_term.c
4947 Fix compiler warning on MSVC++.
4949 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4952 Improve record keeping of chunks seen and return an error if a file with
4953 unusual chunks is opened in mode SFM_RDWR.
4956 This file not needed so remove it.
4958 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4960 * tests/header_test.tpl
4961 Add extra_header_test().
4963 * src/common.h src/sndfile.c
4964 Add SFE_RDWR_BAD_HEADER error number and string.
4966 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4968 * tests/utils.tpl tests/*.c tests/*.tpl
4969 Add a line number argument to check_log_buffer_or_die() and update all
4970 files that use that function.
4972 * tests/header_test.tpl
4973 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
4975 * src/aiff.c src/wav.c
4976 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
4977 SFC_UPDATE_HEADER_AUTO.
4979 * src/test_file_io.c
4980 Add a test for psf_ftruncate() function.
4982 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4985 Fix another weird corner case bug found by Martin Rumori. Thanks.
4987 * tests/header_test.(tpl|def)
4988 Two new files to test for the absence of the above bug and include tests
4989 moved from tests/misc_test.c.
4992 Hook new tests into build/test system.
4995 Remove update_header_test() which has been moved to the new files above.
4997 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5000 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
5001 with a format of SF_FORMAT_FLOAT and then closed before any data is written
5002 to it, the header can get screwed up (PEAK chunk gets overwritten).
5004 * tests/write_read_test.tpl
5005 Add a test (empty_file_test) for the above bug.
5007 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5009 * Win32/Makefile.mingw.in
5010 Added a Makefile for MinGW (needs to be processed by configure).
5012 * src/mmsystem.h src/mmreg.h
5013 Add files from the Wine project (under the LGPL) to allow build of
5014 sndfile-play.exe under MinGW.
5016 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5018 * src/GSM610/gsm610_priv.h
5019 Replace ugly macros with inline functions.
5022 Remove temporary variables used by macros and other minor fixes required by
5025 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5027 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
5028 Make sure these programs compile (even though they do nothing) on Win32
5029 and add them to the "make check" target.
5032 Fix warning on Sparc CPU and code cleanup.
5034 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5037 Fix warning messages when compiling under MinGW.
5039 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5042 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
5043 accepts the flexible array struct member as per 1999 ISO C standard.
5045 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
5046 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
5047 hack for non 1999 ISO C compliant compilers.
5049 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5052 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
5053 string does not already have libsndfile in the string. Thanks to Conrad
5056 * tests/string_test.c
5057 Add test to verify the above.
5059 * examples/sndfile-convert.c
5060 Add ability to transcode meta data as well (Conrad Parker).
5062 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5065 Fix minor error. Thanks to Simon Burton.
5068 Started adding instructions for compiling libsndfile under MinGW.
5071 Add --enable-bow-docs to enable black text on a white background HTML docs.
5073 * doc/libsndfile.css.in
5074 This is now a template file for configure which sets the foreground and
5077 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5080 Do some MinGW fixes.
5082 * configure.ac doc/Makefile.am
5083 Install HTML docs when doing make install.
5085 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5087 * examples/sndfile-info.c
5088 Print out the dB level with the signal max.
5090 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5093 Define S_ISSOCK in src/file_io.c if required.
5095 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5098 Improve printout configuration summary (as suggested by Axel Röbel).
5101 Add link to pre-release location.
5104 Remove comma after last element of enum.
5106 * src/float32.c src/double64.c
5107 Fix read/write of float/double encoded raw files to/from pipes.
5109 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
5110 Turn pipe_test.c into an autogenerated file and add tests for reading/
5111 writing floats and doubles.
5114 Hook tests/pipe_test.* into build system.
5116 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5118 * configure.ac acinclude.m4
5119 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
5121 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5124 Perform update_header_test in RDWR mode as well.
5127 Fix problems when updating header in RDWR mode.
5129 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5131 * src/wav.c src/w64.c src/wav_w64.c
5132 Integrate code supplied by David Viens for supporting microsoft's
5133 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
5135 * configure.ac doc/*.html
5136 Bump version to 1.0.9.
5138 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5140 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
5141 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
5143 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5146 New file to handle Audio Visual Resaerch files.
5148 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
5149 Hook AVR into everything else.
5151 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
5152 Add testing for AVR files.
5154 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5157 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
5158 Technologie) for coming up with the solution.
5160 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5162 * tests/write_read_test.tpl
5163 Fixed a bug that was causing valgrind to report a memory leak. The bug was
5164 in the test code itself, not the library.
5166 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5168 * examples/generate.cs
5169 An example showing how to use libsndfile from C#. Thanks to James Robson
5172 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5175 Fix problems with WAV files containing large chunks after the 'data'
5176 chunk. Thanks to Koen Tanghe for providing a sample file.
5178 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5181 Detect presense of ALSA (Advanced Linux Sound Architecture).
5183 * examples/sndfile-play.c
5184 Add ALSA output support.
5186 * examples/Makefile.am
5187 Add ALSA_LIBS to link line of sndfile-play.c.
5189 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5192 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
5193 the use of the what is known as the struct hack introduced by the 1999 ISO
5197 The last release would not compile with gcc-2.95 due to the use of features
5198 (ie struct hack) introduced by the 1999 ISO C Standard.
5199 Add check to make sure compiler handles this and bomb out if it doesn't.
5201 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5203 * tests/write_read_test.tpl
5204 Fix compiler warning on Win32.
5207 Fix use of an un-initialised variable in Win32 stuff.
5209 * Win32/config.h examples/sndfile-play.c
5212 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5215 Fix bug which occurres when configuring for MinGW.
5216 If compiler is gcc and cross compiling use -nostdinc.
5218 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5220 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
5222 Fix a bug with PEAK chunk handling for files with more than 16 channels.
5223 Thanks to Remy Bruno for finding this.
5225 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5228 Fix a bug which was preventing WAV files being openned correctly if the
5229 file had a very large header. Thanks to Eldad Zack for finding this.
5231 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5233 * configure.ac src/file_io.c
5234 Fix cross-compiling from Linux to Win32 using the MinGW tools.
5236 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5238 * src/create_symbols_file.sh
5239 Christian Weisgerber pointed out that the shell script did not run on a
5240 real Bourne shell although it did run under Bash in Bourne shell mode.
5242 * src/create_symbols_file.py
5243 Rewrite of above in Python. Also add support for writing Win32 .def files.
5244 The Python script generates Symbols.linux, Symbols.darwin and
5245 libsndfile.def (Win32 version). These files get shipped with the tarball
5246 so there should not be necessary to run the Python script when building
5247 the code from the tarball.
5249 * configure.ac src/Makefile.am Win32/Makefile.am
5250 Hook new Python script into the build system.
5252 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5255 Add --enable-gcc-werror option and move GCC specific stuff down.
5257 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5259 * acinclude.m4 configure.ac
5260 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
5263 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
5264 of missing large file support on Linux and Solaris.
5266 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5268 * examples/sndfile-play.c
5269 Fix a MacOSX specific bug which was caused by a space being inserted in
5270 the middle of a file name.
5272 * configure.ac src/Makefile.am examples/Makefile.am
5273 Fix a couple of MacOSX build issues.
5275 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5278 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
5280 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5283 Applied patch from Frank Neumann (author of lakai) which fixes many minor
5284 typos in documentation. Thanks Frank.
5286 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5289 Changed my email address throughout source and docs.
5291 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5294 Make sure config.h is included before stdio.h to make sure large file
5295 support is enabled on Linux (and Solaris).
5298 Disable update_header test on Win32. This should work but doesn't and
5301 * Make.bat Win32/Makefile.msvc
5304 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5307 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
5308 int to int to prevent weird arithmetic bugs.
5310 * src/common.c src/aiff.c src/wav.c src/w64.c
5311 Fixed compiler warnings resulting from above change.
5313 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5316 Fixed a bug in header reader for some files with data after the sample data.
5318 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5320 * tests/lossy_comp_test.c tests/Makefile.am
5321 Add tests for AIFF/IMA files.
5323 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5325 * src/macbinary3.c src/macos.c
5326 Two new files required for handling SD2 files.
5329 Add prototypes for functions in above two files.
5332 Hook new files into build system.
5334 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5337 Add checks for mmap() and getpagesize() which might be used at some time
5338 for faster file reads.
5339 Add detection of MacOSX.
5341 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5344 Minor mods to pkg-config section.
5346 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5348 * src/create_symbols_file.sh
5349 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
5350 static symbols are exported causing troubles when trying to link
5351 libsndfile with another library which has any of the same symbols.
5352 He fixed this by supplying the MacOSX linker with a file containing
5353 all the public symbols so that only they would be exported and then
5354 supplied a patch for libsndfile.
5355 This wasn't quite ideal, because I would have to maintain two (3 if
5356 you include Win32) separate files containing the exported symbols.
5357 A better solution was to create this script which can generate a
5358 Symbols file for Linux, MacoSX and any other OS that supports
5359 minimising the number of exported symbols.
5361 * configure.ac src/Makefile.am
5362 Hook the new script into the build process.
5364 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5367 Added comments about Steve Dekorte's SoundConverter scam.
5369 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5372 Axel Röbel pointed out that on Mac OSX a pipe is not considered a fifo
5373 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
5374 true). The test has therefore been changed to is S_ISREG and anything
5375 which which does not return true for S_ISREG is considered a pipe.
5377 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5380 Fix update_header_test to pass SDS.
5385 * tests/floating_point_test.c
5386 Add test for SDS files.
5389 Add SDS to major_formats array.
5391 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5393 * tests/write_read_test.tpl tests/misc_test.c
5394 Add tests for SDS files.
5397 Fix a bug in header update code.
5399 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5402 Get file write working.
5405 Fix a potential bug in paf24_seek().
5407 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5410 Add Q/A about u-law encoded WAV files.
5413 Updated so it compiles on Win32.
5415 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5417 * examples/sndfile-convert.c
5418 Add -alaw and -ulaw command line arguments.
5421 Add library versioning comments.
5422 Add arguments to AC_INIT.
5424 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5427 Ross Bencina has contributed code to replace all of the (mostly broken)
5428 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
5429 This code still needs testing but is likely to be a huge improvemnt
5430 of support for Win32. Thanks Ross.
5432 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5435 Removed filedes field from the DWVW_PRIVATE struct.
5438 Change psf_fopen() so it returns psf->error instead of the file descriptor.
5439 Add new functions psf_set_stdio() and psf_set_file().
5442 Change these to work with changed psf_fopen() return value.
5443 Remove all uses of psf->filedes from sndfile, making it easier to slot native
5444 Win32 API file handling functions.
5446 * src/test_file_io.c
5447 Minor changes to make it compile with new file_io.c stuff.
5449 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5452 Rename a variable from true to true_flag. As Ross Bencina points out,
5453 true is defined in the C99 header <stdbool.h>.
5456 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
5458 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5461 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
5464 Fix sf_read/write_raw which were dividing by psf->bytwidth and
5465 psf->blockwidth which can both be zero.
5467 * examples/sndfile-info.c
5468 Increase size of BUFFER_LEN.
5470 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5473 Add checks for <sys/wait.h> and ssize_t.
5474 Other Win32/MinGW checks.
5476 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
5477 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
5478 Fix compiler warnings.
5480 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5482 * tests/scale_clip_test.tpl
5483 Add definition of M_PI if needed.
5485 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5488 Detect if S_IRGRP is declared in <unistd.h>.
5490 * src/file_io.c tests/*.tpl tests/*.c
5491 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
5492 file doesn't declare S_IRGRP.
5494 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5497 Add comment stating that the sf_count_t typedef is determined when
5498 libsndfile is being compiled.
5501 Modified so that utils.c gets one copy of the GPL and not two.
5504 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5506 * Win32/unistd.h src/sf_unistd.h
5507 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
5509 * Win32/Makefile.am src/Makefile.am
5510 Changed in line with above.
5512 * Win32/Makefile.msvc
5513 Removed "/I Win32" which is no longer required.
5515 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
5516 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
5517 work for Win32, MinGW and other fakes Unix-like OSes.
5520 Removed #include <unistd.h> from files which didn't need it.
5522 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5524 * libsndfile.spec.in
5525 Apply fix from Andrew Schultz.
5527 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5530 Only set psf->sf.samplerate if the existing value is invalid.
5532 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5534 * examples/sndfile-play.c
5535 Started adding support for ALSA output.
5537 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5540 Removed <stdlib.h> from sndfile.h.
5542 * src/*.c examples/*.c tests/*.c tests/*.tpl
5543 Added <stdlib.h> where needed.
5545 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5548 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
5550 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5553 Remove statements about alternative licensing arrangements.
5555 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5557 * MacOS MacOS9 Makefile.am configure.ac
5558 Change directory name from MacOS to MacOS9
5560 * MacOS9/MacOS9-readme.txt
5561 Change name to make it really obvious, add text to top of file to make it
5562 still more obvious again.
5564 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5566 * src/test_log_printf.c
5567 Add tests for %u conversions.
5570 Fix psf_log_printf() %u conversions.
5572 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5575 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
5576 would over-write part of the header. Thanks to Axel Röbel for pointing
5577 this out. Axel also provided a patch to fix this but I came up with a
5578 neater and more general solution.
5579 Return error when openning an AIFF file with data after the SSND chunk
5580 (Thanks Axel Röbel).
5582 * tests/aiff_rw_test.c
5583 Improvements to test program which will later allow it to be generalised to
5584 test WAV, SVX and others as required.
5586 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5589 Add useek_pipe_rw_test() submitted by Russell Francis.
5592 In sf_open_fd(), check if input file descriptor is a pipe.
5595 Fix typo in variable name do_not_close_descriptor.
5597 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5599 * src/test_log_printf.c
5600 Improve the tests for %d and %s conversions.
5603 Fixed a few problems in psf_log_printf() found using new tests.
5605 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5608 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
5609 Peter Miller (Aegis author) for suggesting this and supplying a patch.
5611 * src/*.c examples/*.c tests/*.c
5612 Fix all compiler warnings arising from the above.
5614 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5616 * tests/aiff_rw_test.c tests/Makefile.am
5617 New test program to check for errors re-writing the headers of AIFC files
5618 opened in mode SFM_RDWR.
5620 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5622 * examples/sndfile-play.c
5623 Applied a patch from Tero Pelander to allow this program to run on systems
5624 using devfs which used /dev/sound/dsp instead of /dev/dsp.
5626 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5628 * doc/new_file_type.HOWTO
5629 Updated document. Still incomplete.
5631 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5634 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
5635 than saving it and returning zero.
5637 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5640 Two fixes for Mac OS9.
5641 Fix all casts from sf_count_t to ssize_t (not size_t).
5643 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5646 Fix for reading files with RIFF length of 8 and data length of 0.
5648 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5650 * src/*.c tests/*.c tests/*.tpl
5651 Added comments to mark code for removal when make Lite version of
5654 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5656 * examples/sndfile-convert.c
5657 Add extra error checking for unrecognised arguments.
5659 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5662 Started adding code to write IMA ADPCM encoded AIFF files.
5664 * src/test_log_printf.c src/Makefile.am
5665 New file to test psf_log_printf() function and add hooks into build system.
5668 Move psf_log_printf() function to top of the file and only compile the rest
5669 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
5671 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5673 * Win32/config.h Win32/sndfile.h
5674 Updated with new config variables.
5676 * Win32/unistd.h src/file_io.c
5677 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
5678 used in src/file_io.c.
5681 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
5685 Added src\test_file_io.exe build target and run this as the very first
5688 * tests/win32_test.c
5689 Add support for testing Cygwin32.
5692 Detect POSIX fsync() and fdatasync() functions.
5695 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
5698 * tests/pcm_test.tpl
5699 Add a test for lrintf() function. This was required to detect a really
5700 broken lrint() and lrintf() on Cygwin.
5703 Don't run permission test when compiling under Cygwin.
5706 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
5707 to match official function prototypes.
5709 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5711 * examples/sndfile-convert.c
5712 Modifications to improve accuracy of conversions; use double data for
5713 floating point and int for everything else.
5716 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
5717 get encoding working.
5719 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5721 * src/aiff.c src/ima_adpcm.c
5722 Start working on getting IMA ADPCM encoded AIFF files working.
5724 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5727 Fixed the touch command for when the autogen program is not found (Matt
5730 * src/ulaw.c src/alaw.c
5731 Made these pipe-able.
5733 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5735 * src/paf.c src/ircam.c
5736 Fixed writing to pipe.
5738 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
5739 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
5741 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5743 * examples/sndfile-info.c
5744 Modified to detect unknown file lengths.
5747 Fix reading from a pipe.
5749 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5752 Add more file types to tests.
5755 Removed explicit setting of psf->sf.seekable to SF_TRUE.
5758 Add macro for generating and check data in the stdio and pipe tests.
5760 * tests/stdout_test.c tests/stdin_test.c
5761 Use the above macro to generate known data on output and check data on
5764 * src/voc.c src/htk.c common.h sndfile.c
5765 Disallow reading/writing VOC and HTK files from/to pipes be returning new
5769 Fixes to allow reading from a pipe.
5771 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5773 * configure.ac src/sndfile.h.in
5774 When the configure script determines the sizeof (sf_count_t), also set the
5775 value of SF_COUNT_MAX in sndfile.h.
5778 Remove -pedantic flag from default GCC compiler flags.
5781 Add a pipe_read_test() before doing pipe_write_test().
5783 * tests/scale_clip_test.c
5784 Add test to make sure non-normalized values also clip in the right way.
5786 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5789 Add test to detect processor clipping capabilities.
5791 * tests/stdin_test.c tests/stdout_test.c
5792 Fix a pair of compiler warnings.
5795 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
5796 offset when operating on a pipe.
5799 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
5800 psf_binheader_readf and redirect them to new buffered versions
5801 header_read(), header_seek() and header_gets().
5802 Add "G" format specifier to emulate fgets() functionality with buffering.
5803 This will allow reading some file types from pipes.
5806 When the file descriptor is a pipe, manintain psf->pipeoffset.
5809 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
5812 Fix reading from a pipe.
5814 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5817 Add clipping versions of the f2XXX_array() functions to allow option of
5818 clipping data that would otherwise overflow.
5820 * tests/scale_clip_test.tpl tests/scale_clip_test.def
5821 New files test that clipping option does actually work.
5823 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5826 Fixed a typo ("OS(" instead of "OS9").
5828 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5830 * tests/open_fail_test.c
5831 Include <string.h> to prevent warning message of missing declaration of
5834 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5837 Add new "add_clipping" field to SF_PRIVATE.
5839 * src/sndfile.h.in src/sndfile.c
5840 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
5842 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5845 Add docs for sf_set_string() and sf_get_string().
5847 * src/common.h src/sndfile.c
5848 Add new SFE_STR_BAD_STRING error.
5850 * tests/stdin_test.c tests/stdout_test.c
5851 Removed all non-error print statements.
5853 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
5854 Add print statements removed from two files above.
5856 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5858 * libsndfile.spec.in
5859 Fixed a coulpe of minor errors discovered by someone calling themselves
5862 * src/common.c src/common.h src/file_io.h
5863 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
5864 function. (Axel Röbel)
5867 Fixed determination of whether the file is a pipe. (Axel Röbel)
5870 Force paf24 to start with undefined mode. (Axel Röbel)
5873 Mods to make this test work and actually do the test on RAW files. (Axel
5876 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5879 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
5880 operating on stdin or stdout but then the default initialiser was reseting
5881 it to TRUE. Thanks to Axel Röbel.
5884 Fixed a bug in the header parser where it was not handling an odd length
5885 COMM chunk correctly. Thanks to Axel Röbel.
5887 * src/test_file_io.c
5890 * tests/win32_test.c
5891 New file for showing the bugs in the Win32 implementation of the POSIX API.
5892 It also runs on Linux for sanity checking.
5894 * tests/Makefile.am Win32/Makefile.msvc
5895 Hook the new test program into the build system.
5897 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5899 * src/test_file_io.c
5900 New test program to test operation of functions defined in file_io.c. This
5901 should make supporting win32 significantly easier.
5904 Hook new test program into the build system.
5907 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
5910 * src/common.h src/sndfile.c
5911 Added new error code and error message for new check.
5913 * tests/benchmark.tpl
5914 Fix to use frames instead of samples in SF_INFO.
5916 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5919 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
5921 * examples/sndfile-info.c
5922 Applied patch from Conrad Parker to add "--help" and "-h" options as
5923 well as an improved usage message.
5925 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5928 Added embedded file support.
5930 * tests/multi_file_test.c
5931 Added tests for embedded AU files.
5932 Added verbose testing mode.
5934 * src/common.h src/sndfile.c
5935 Added an embedded AU specific error code and message.
5938 Added patch from Conrad Parker which filled in a little more information
5939 about ACIDized WAV files.
5941 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5944 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
5945 which was in turn calling psf_fseek() which in the end blew the stack.
5946 Now of course this would have been easy to find on Linux, but this blow
5947 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
5948 figure out what call caused this (it couldn't even tell me the stack had
5949 overflowed) and was absolutley useless for this debugging exercise.
5950 On top of that, the reason I got into this mess was that windoze doesn't
5951 have a working fstat() function which can return file lengths > 2 Gig. It
5952 HAS a fscking _fstati64() but the file length value is only updated AFTER
5953 the bloody file is closed. That makes it completely useless.
5954 How the hell do people stand working on this crap excuse of an OS?
5956 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5958 * Win32/unistd.h src/file_io.c
5959 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
5960 can be used in the test programs.
5962 * Win32/libsndfile.def
5966 Updated to match src/sndfile.h.in.
5968 * Win32/Makefile.msvc
5969 Added dither.c and htk.c to libsndfile.dll target.
5971 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5974 First attempt at getting the Win32 versions of the these functions working.
5975 They still need to be tested.
5977 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5980 Found and fixed a bug which was causing psf_store_string() to fail on
5981 Motorola 68k processors. Many thanks to Joshua Haberman (Debian maintainer
5982 of libsndfile) for compiling and running debug code to help me debug the
5985 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5987 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
5988 Much hacking to get reading and writing of embedded files working (ie sound
5989 files at a non-zero files offset).
5991 * doc/embedded_files.html
5992 First pass atempt at documenting reading/writing embedded files.
5994 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5997 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
5999 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6001 * src/wav.c src/aiff.c
6002 Fix retrieving and storing of string data from files. Need to be careful
6003 about using psf->buffer for strings.
6005 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6008 Fix psf_fseek() for seeks withing embedded files.
6010 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6013 Changed the definition of SNDFILE slightly to produce warnings when it isn't
6014 used correctly. This should have zero affect in code which uses the SNDFILE
6018 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
6020 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6023 Added question and answer to the question "How about adding the ability
6024 to write/read sound files to/from memory buffers?".
6026 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6028 * tests/write_read_test.tpl
6029 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
6030 these with SF_TRUE and SF_FALSE.
6032 * tests/multi_file_test.c
6033 New test program to test sf_open_fd() on files containing data other than
6034 a single sound file.
6036 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6039 When creating files, set the readable by others flag. This still allows
6040 further restrictions to be enforced by use of the user's umask. Fix
6041 suggested by Eric Lyon.
6043 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6045 * src/sndfile.h.in src/sndfile.c
6046 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
6047 parameter. If close desc is TRUE, the file descritpor passed into the
6048 library will be closed when sf_close() is called.
6051 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
6053 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6055 * tests/write_read_test.tpl
6056 Add a string (using sf_set_string() function) before and after data section
6057 of all files. This will make sure that if string data can be added, it
6058 doesn't overwrite real audio data.
6060 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6063 Started work on supporting a non-zero offset parameter for sf_open_fd ().
6065 * src/<file header parsers>.c
6066 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
6067 sf_open_fd() with non-zero offset.
6068 Associated refactoring.
6071 Implemented functionality required to get sf_get_string() and
6072 sf_set_string() working for AIFF files.
6074 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6077 Modified test_open_file_or_die() to alternately use sf_open() and
6081 Fixed a bug which occurred when openning an existing file for read/write
6082 using sf_open_fd(). In this case, the existing NAME chunk needs to be
6083 read into psf->filename.
6084 Fixed printing of sf_count_t types to logbuffer.
6086 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6089 Added prototype for new function sf_open_fd().
6092 Moved most of the code in sf_open() to a new function psf_open_file().
6093 Created new function sf_open_fd() which also uses psf_open_file() but
6094 does not currently support the offset parameter.
6097 Document sf_open_fd().
6099 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6102 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
6103 when an attempt was made to read and the open() call fails.
6105 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6107 * tests/open_fail_test.c
6108 New test program to check for memory leaks when sf_open fails on a valid
6109 file. Currently this must be run manually under valgrid.
6112 Hook new test program into build.
6114 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6116 * Octave/sndfile_save.m Octave/sndfile_play.m
6117 Added a -mat-binary option to the octave save command to force the output
6118 to binary mode even if the user has set ascii data as the default. Found
6119 by Christopher Moore.
6121 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6124 New file which will document the interface which allows the addition of
6125 audio dither when sample word sizes are being reduced.
6130 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6133 In update_header_test(), make HTK files a special case.
6136 Added HTK to the feature matrix.
6138 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6141 New file for reading/writing HMM Tool Kit files.
6143 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
6146 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
6147 Add tests for HTK files.
6149 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6152 Fixed a bug where the LIST chunk length was being written incorrectly.
6154 * tests/string_test.c
6155 Added call to check_log_buffer().
6158 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6161 Applied patch from Antoine Mathys to add extra WAV format definitions and
6162 a G72x_ADPCM_WAV_FMT struct definition.
6165 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
6166 one huge inefficient switch statement to a binary search.
6168 * tests/string_test.c
6169 Dump log buffer if tests fail.
6171 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6173 * tests/string_test.c
6174 David Viens supplied some modifications to this file which showed up a bug
6175 when using sf_set_string() and the sf_writef_float() functions.
6178 Fixed the above bug.
6180 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6183 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
6186 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6189 Add enums and typedefs for dither.
6190 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
6191 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
6192 allow different dither algorithms to be enabled.
6193 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
6195 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
6196 Added public sf_dither_*() functions.
6199 Implement commands above.
6202 More work. Framework and external hooks into dither algorithms complete.
6204 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6206 * doc/version-1.html libsndfile_version_convert.py
6207 Remove redundant files.
6209 * doc/index.html doc/api.html
6210 Remove links to version-1.html.
6213 New file to allow the addition of audio dither on input and output.
6216 Add prototype for dither_init() function.
6218 * Makefile.am doc/Makefile.am
6219 Changes for added and removed files.
6221 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6223 * Win32/Makefile.msvc
6224 Changes to force example binaries to be placed in the top level directory
6225 instead of the examples/ directory.
6226 Add src/strings.c and src/xi.c to the build.
6227 Add string_test to build and to tests on WAV files.
6230 Added XI to support matrix.
6232 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6235 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
6239 Added public interface to sf_get_string() and sf_set_string().
6242 Added code for setting and getting strings in WAV files.
6244 * tests/string_test.c
6245 New test program for sf_get_string() and sf_set_string() functionality.
6248 Hook new test program into build and test framework.
6250 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6253 Added fields to SF_PRIVATE for string data needed to implement
6254 sf_get_string() and sf_set_string().
6257 New file for storing and retrieving strings to/from files.
6260 Added strings.c to build.
6262 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6265 Read seems to be working so looking at write.
6268 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
6270 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
6271 Added test for 8 and 16 bit XI format files.
6273 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6276 Added a non-lawyer readable summary of the licensing provisions as
6277 suggested by Steve Dekorte.
6279 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6282 Fixed a compiler warning found by Alexander Lerch.
6284 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6287 Fixed the multiple linking of libm.
6289 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6291 * Win32/Makefile.mcvs
6292 Added comments on the correct way to set up the MSVCDir environment
6296 Add on how to set up the MSVCDir environment variable.
6298 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6300 * examples/sndfile-play.c examples/sndfile-info.c
6301 When run on Win32 without any command line parameters print a message and
6302 then sleep for 5 seconds. This means the when somebody double clicks on
6303 these programs in explorer the user will actually see the message.
6305 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6308 Bypass permission test if running as root because root is allowed to open
6309 a readonly file for write.
6311 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6313 * Win32/Makefile.msvc
6314 Added pvf.c and xi.c source files to project.
6317 Updated for PVF files.
6319 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6322 Modified validate_sfinfo() to force samplerate, channels and sections
6324 In format_from_extension() replaced calls to does_extension_match()
6330 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6333 Added octave.html which had been left out. Found by Jan Weil.
6335 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6337 * src/pvf.c src/common.h src/sndfile.c
6338 Fixed error handling for PVF files.
6341 New file for handling Fasttracker 2 Extended Instrument files. Not working
6342 yet and included when configured with --enable-experimental.
6344 * src/sndfile.c src/common.h
6345 Hooked in new file xi.c.
6347 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6350 Added a patch from Marek Peteraj which sheds a little more light on the
6351 slices within an RX2 file. Still need to find out data encoding.
6353 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6356 Started work on decoding 'acid' and 'strc' chunks.
6358 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6360 * tests/peak_check_test.c
6363 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6365 * tests/write_read_test.tpl
6366 Added check to make sure no error was generated when an attempt was made to
6367 read past the end of the file.
6369 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6372 Added "mailto" links for all three lists.
6375 New file for Portable Voice Format files.
6377 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
6378 Added hooks for SF_FORMAT_PVF format files.
6380 * tests/write_read_test.tpl tests/std*.c
6381 Add tests for SF_FORMAT_PVF.
6384 Add PVF to the compatibility matrix.
6386 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
6387 Previously, attempts to read beyond the end of a file would set psf->error
6388 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
6389 read() call but has now been fixed.
6390 Attempts to read beyond the end of the file will return a short read count
6391 but will not longer set any error.
6393 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6396 Add more sanity checking when opening a RAW file for read. When format is
6397 not RAW, zero out all members of the SF_INFO struct.
6400 Add bad_raw_test() to check for above problem.
6402 * tests/stdin_test.c examples/sndfile-info.c
6403 Set the format field of the SF_INFO struct to zero before calling
6407 Add information about the need to set the format field of the SF_INFO struct
6408 to zero when opening non-RAW files for read.
6411 Removed use of conversion script on Solaris. Not all Solaris versions
6415 New file containg details of the mailing lists.
6418 Add a link to the above new file.
6420 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6423 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
6424 for providing the gdb traceback.
6426 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6429 Added more capabilities to 'smpl' chunk parser.
6432 Fixed some (not all) possible problems found with Flawfinder.
6434 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6437 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
6438 made to read beyond the end and then sf_seek() was called with a whence
6439 parameter of SEEK_CUR.
6442 Win32's _fstati64() does not work, it returns BS. Re-implemented
6443 psf_get_filelen() in terms of psf_fseek().
6445 * tests/write_read_test.tpl
6446 Add a test to detect above bug.
6449 Modification to prevent compiler warnings on Mac OS X.
6452 Fixes for windows (what a f**ked OS).
6454 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6457 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
6458 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
6459 src/float_cast.h means that a library compiled on 10.2 will still work on
6462 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6464 * configure.in configure.ac
6465 Renamed configure.in to configure.ac as expected by later versions of
6467 Slight hacking of configure.ac to work with version 2.54 of autoconf.
6468 Changed to using -dumpversion instead of --version for determining GCC
6469 version numer as suggested by Anand Kumria.
6471 * src/G72x/Makefile.am
6472 Slight hacking required for operation with automake 1.6.3.
6474 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6477 In psf_binheader_readf() changed type parameter type "b" type from size_t
6478 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
6479 Thanks to Enrique Robledo Arnuncio for debugging this.
6481 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6483 * test/command_test.tpl
6484 Changed test value so test would pass on Solaris.
6486 * src/Version_script.in
6487 Modified version numbering so that later versions of 1.0.X can replace
6488 earlier versions without recompilation.
6491 Fixed bug causing short reads.
6493 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6495 * test/floating_point_test.c
6496 Code cleanup using functions from util.c.
6497 Add test for IEEE replacement floats and doubles.
6499 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6502 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
6503 Serg Repalov for the example file.
6505 * tests/pcm_test.tpl
6506 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
6507 Clean up pcm_double_test().
6509 * src/float32.c src/double64.c
6510 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
6511 Print message to log_buffer as well.
6512 Rename all broken_read_* and broken_write* functions to replace_read_* and
6516 Added string_in_log_buffer().
6518 * tests/pcm_test.tpl
6519 Use string_in_log_buffer() to ensure that IEEE replacement code has been
6523 Removed --enable-force-broken-float option. IEEE replacement code is now
6526 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6529 Implement code for read/writing IEEE doubles on platforms where the native
6530 double format is not IEEE.
6532 * src/float32.c src/common.h
6533 Remove float32_read() and float32_write(). Replace with float32_le_read(),
6534 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
6538 Fix all usage of float32_write().
6541 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
6544 Added SF_PRIVATE field ieee_replace.
6547 In sf_command() set/reset psf->ieee_replace.
6549 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6551 * tests/pcm_test.tpl
6552 Fixed a problem when testing with --enable-force-broken-float. The test was
6553 generating a value of negative zero and the broken float code is not able
6554 to write negative zero. Removing the negative zero fixed the test.
6556 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6559 Added fix for Cygwin (suggested by Maros Michalik).
6561 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6564 Improved error detection and handling.
6566 * src/file_io.c src/common.h
6567 Removed functions psf_ferror() and psf_clearerr() which were redundant
6568 after above improvements.
6570 * src/aiff.c src/svx.c src/w64.c src/wav.c
6571 Removed all use of psf_ferror() and psf_clearerr().
6574 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
6575 are no longer needed.
6578 Added test to make sure the correct error message is returned with an
6579 existing read-only file is openned for write.
6581 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6583 * doc/index.html doc/api.html
6584 Updated for OKI Dialogic ADPCM files.
6587 Added VOX ADPCM to sub_fomats.
6589 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6591 * src/vox_adpcm.c src/Makefile.am
6592 New file for handling OKI Dialogic ADPCM files.
6595 Add new subtype SF_FORMAT_VOX_ADPCM.
6598 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
6599 its functionality to detect headerless VOX files.
6602 Added hooks for SF_FORMAT_VOX_ADPCM.
6604 * examples/sndfile-info.c
6605 Print out file duration (suggested by Conrad Parker).
6607 * libsndfile.spec.in
6608 Force installation of sndfile.pc file (found by John Thompson).
6610 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
6611 Add tests for SF_FORMAT_VOX_ADPCM.
6613 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6616 Add test which attempts to write to /dev/full (on Linux anyway) to check
6617 for correct handling of writing to a full filesystem.
6620 Return correct error message if the header cannot be written because the
6624 Corrected printing of file mode in error reporting.
6627 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
6630 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6632 * src/common.h src/file_io.c
6633 All low level file I/O have been modified to be better able to report
6634 system errors resulting from calling system level open/read/write etc.
6637 Updated for compatibility with above changes.
6639 * examples/cooledit-fixer.c
6640 New example program which fixes badly broken file created by Syntrillium's
6641 Cooledit which are marked as containing PCM samples but actually contain
6642 floating point data.
6644 * examples/Makefile.am
6645 Hooked cooledit-fixer into the build system.
6647 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6650 Document SFC_GET_FORMAT_INFO.
6652 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6654 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
6656 Removed these files because they weren't interesting.
6658 * examples/sfconvert.c examples/sndfile-convert.c
6659 Renamed the first to the latter.
6661 * examples/Makefile.am
6662 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
6664 Removed old programs wav32_aiff24 and sndfile2oct.
6666 * man/sndfile-convert.1
6669 * examples/sndfile-convert.c
6670 Added some gloss now that sndfile-convert.c is an installed program.
6672 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
6673 Added command SFC_GET_FORMAT_INFO.
6675 * tests/command_test.c
6676 Added tests form SFC_GET_FORMAT_INFO.
6678 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6681 In sf_format_check() return error if samplerate < 0.
6683 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6686 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
6689 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6692 Fixed repeated word in an error message.
6694 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6697 Improved advertising in Features section.
6699 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6702 Added decoding of 'labl' chunks within 'LIST' chunks.
6705 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
6706 of ogg_open(). This is nowhere near working yet.
6709 Added detection of 'OggS' file marker and added call to ogg_open() to
6713 New file. Very early start of Ogg Vorbis support.
6716 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
6717 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
6718 a block alignment of 4 times the numbers of channels but are in fact 32 bit
6721 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6724 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
6725 config.h to either 0 or 1.
6728 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
6729 string if experimental code has been enabled.
6731 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6734 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
6735 in the link line when linking something to libsndfile.
6737 * tests/Makefile.am examples/Makefile.am
6738 Removed -lm from all link lines.
6741 Removed -lm from Libs line.
6743 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6746 Removed all perror() calls.
6749 Removed calls to exit() function.
6750 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
6753 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6755 * src/sndfile.h.in src/sndfile.c
6756 New function sf_strerror() which will eventually replace functions
6757 sf_perror() and sf_error_str().
6758 Function sf_error_number() has also been changed, but this was documented
6759 as being for testing only.
6762 Documented above changes.
6764 * tests/*.c examples/*.c
6765 Changed to new error functions.
6767 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6770 Detect GCC version, and print a warning message about writeable strings
6771 it GCC major version number is less than 3.
6773 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6775 * src/sndfile.h.in doc/api.html
6776 Documentation fixes.
6778 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6780 * src/Version_script.in src/Makefile.am configure.in
6781 Use the version script to prevent the exporting of all non public symbols.
6782 This currently only works with Linux. Will test on Solaris as well.
6785 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
6788 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
6790 Fix benign compiler warnings arising from previously added compiler
6793 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6796 Fixed a bug in sf_error_str() where errnum was used as the index instead
6797 of k. Found by Tim Hockin.
6799 * examples/sndfile-play.c
6800 Fixed a compiler warning resulting from a variable shadowing a previously
6803 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6805 * src/sndfile.h.in src/sndfile.c
6806 Added command SFC_SET_RAW_START_OFFSET.
6809 Document SFC_SET_RAW_START_OFFSET.
6811 * tests/raw_test.c tests/Makefile.am
6812 Add new file for testing SF_FORMAT_RAW specific functionality.
6817 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6820 Modified reading of 'smpl' chunk to take account of the sampler data field.
6822 * tests/utils.tpl tests/utils.h
6823 Added function print_test_name().
6825 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
6826 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
6827 Convert to use function print_test_name().
6829 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6832 Added a link to some other Octave scripts for reading and writing sound
6836 Change type of dummy data field to int. This should fix a benign compiler
6837 warning on some CPUs.
6838 Removed superfluous casts resulting from the above change.
6843 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6845 * src/mat5.c src/common.c
6846 Changed usage of snprintf() to LSF_SNPRINTF().
6848 * Win32/Makefile.msvc
6849 Updated to include new files and add new tests.
6851 * Win32/config.h Win32/sndfile.h
6855 Added note about the possibility of "missing" features actually being
6856 implemented as an sf_command().
6858 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6861 Added previously missing update_header_test and zero_data_tests for PAF,
6862 MAT4 and MAT5 formats.
6864 * src/paf.c src/mat4.c src/mat5.c
6865 Fixed bugs uncovered by new tests above.
6868 Generalised parsing of name fields of MAT5 files.
6870 * src/mat5.c src/sndfile.c
6871 Added support for unsigned 8 bit PCM MAT5 files.
6873 * tests/write_read_test.tpl
6874 Added test for unsigned 8 bit PCM MAT5 files.
6877 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
6879 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6881 * test/update_header_test.c tests/misc_test.c
6882 Renamed update_header_test.c to misc_test.c.
6883 Added zero_data_test() to check for case where file is opened for write and
6884 closed immediately. The resulting file can be left in a state where
6885 libsndfile cannot open it. Problem reported by Werner Schweer, the author
6889 Removed superfluous cast.
6891 * src/wav.c src/svx.c
6892 Fixed case of file generated with no data.
6893 Removed superfluous cast.
6896 Fixed error on IA64 platform caused by incorrect termination of
6897 SndfileErrors struct array. This problem was found in the Debian buildd
6898 logs (http://buildd.debian.org/).
6901 Added Octave directory.
6903 * Octave/Makefile.ma
6904 New Makfile.am for Octave directory.
6906 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
6907 New files for working with Octave.
6910 Document explaining the use of the above three Octave scripts.
6912 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6915 Fixed bug in RDWR mode.
6917 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6920 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
6924 Added #include <io.h> for Win32. Reported by Koen Tanghe.
6926 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6929 Added 'S' format specifier for psf_binheader_writef() which writes a C
6930 string, including single null terminator to the header.
6931 Added 'j' format specifier to allow jumping forwards or backwards in the
6933 Added function psf_get_date_str().
6936 Complete read and write support.
6939 Added entries for MAT4 and MAT5 in capabilities matrix.
6941 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6944 Completed read and write support.
6946 * src/common.h src/sndfile.c
6947 Added MAT4 and MAT5 specific error messages.
6949 * tests/write_read_test.tpl tests/Makefile.am
6950 Added tests for MAT4 and MAT5 files.
6952 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
6953 Added tests for MAT4 and MAT5 files.
6955 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6958 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
6961 * examples/sfconvert.c
6962 Added mat4 and mat5 output targets.
6964 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6967 Added check to prevent errors openning read only formats for read/write.
6970 New file for interleaving non-interleaved data. Non-interleaved data is
6971 only supported on read.
6974 Added src/interleave.c to build.
6976 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6978 * src/double64.c src/common.h
6979 Added double64_be_read(), double64_le_read(), double64_be_write() and
6980 double64_le_write() which replace double64_read() and double64_write().
6983 Cleanup of psf_binheader_readf() and add ability to read big and little
6984 endian doubles (required by mat4.c and mat5.c).
6985 Add ability for psf_binheader_writef() to write doubles to sound file
6988 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6991 New file for reading Matlab (tm) version 5 data files. This is also the
6992 native binary file format for version 2.1.X of GNU Octave which will be
6997 New file for reading Matlab (tm) version 4.2 data files. This is also the
6998 native binary file format for version 2.0.X of GNU Octave which will be
7002 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
7003 Mods to add Matlab files.
7006 Added readf_endian field to SF_PRIVATE struct allowing endianness to
7007 remembered across calls to sf_binheader_readf().
7008 Fixed bug in width_specifier behaviour for printing hex values.
7010 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7013 Check return value of close() call in psf_fclose().
7015 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7018 Commented out some code where 0x10000 was being subtracted from a short
7019 and the result assigned to a short again. Andrew Zaja found this.
7021 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7024 Fixed typo found by Tommi Ilmonen.
7027 Changed type of diff from short to int to prevent errors which can occur
7028 during very rare circumstances. Thanks to FUWAFUWA.
7030 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7032 * tests/floating_point_test.c
7033 Disable testing on machines without lrintf().
7035 * Win32/Makefile.msvc
7036 Added dwd.c and wve.c to build.
7039 Bumped version to 1.0.0.
7041 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7044 Add a #include for Mac OS 9. Thanks to Stephane Letz.
7047 Changed an snprintf to LSF_SNPRINTF.
7050 Added version-1.html.
7052 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7055 Bumped version to 1.0.rc6.
7058 Modified scaling of normalised floats and doubles to integers. Until now
7059 this has been done by multiplying by 0x8000 for short output, 0x80000000
7060 for 32 bit ints and so on. Unfortunately this can cause an overflow and
7061 wrap around in the target value. All thes values have therefore been
7062 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
7063 normalised floats and doubles remains unchanged. This does mean that for
7064 repeated conversions normalised float -> pcm16 -> normalised float would
7065 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
7066 This is undesirable but less undesireable than the wrap around I am trying
7069 * tests/floating_point_test.c
7070 Removed file hash checking because new float scaling procedure introduced
7071 above prevented the ability to crate a has on both x86 and PowerPC systems.
7073 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7076 Completed reading of TXW files. Seek doesn't work yet.
7079 Added a MacOS 9 replacement for ftruncate().
7082 Added MacOS 9 header file. This should be copied into src/ to compile
7083 libsndfile for MacOS9.
7085 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7088 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
7089 values after being set. Reported by Jussi Laako.
7092 If autogen is not found, touch all .c and .h files in tests/.
7095 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
7098 Completed implementation of read only access to these files.
7100 * src/common.h src/*.c src/pcm.c
7101 Removed redundant field chars from SF_PRIVATE struct and modified
7102 pcm_init() to do without it.
7104 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7107 New file implementing read of Psion Alaw files. This will be a read only
7108 format. Implementation complete.
7111 Started implementation of DiamondWare Digitized files. Also read only, not
7115 Add parsing of 'smpl' chunk.
7118 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
7119 This brings it into line with the reading of 8 bit files into
7120 un-normalized doubles which returns values in the range [-128, 127].
7123 Modified psf_log_printf() to accept the %% conversion specifier to allow
7124 printing of a single '%'.
7127 Read only of 16 bit samples is working. Need to build a test harness for
7128 this and other read only formats.
7130 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7133 Added --enable-experimental configure option.
7134 Removed pkg-config message at the end of the configure process.
7136 * src/sds.c src/txw.c src/rx2.c src/sd2.c
7137 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
7138 blocks and added new *_open() function for the case where experimental is
7139 not enabled. These new functions just return SFE_UNIMPLMENTED.
7141 * Win32/sndfile.h src/sndfile.h.in src/common.h
7142 Removed un-necessary #pragma pack commands.
7145 Implemented psf_ftruncate() and much other hacking for Win32.
7147 * Win32/Makefile.msvc
7151 Updated to include the copying of the sndfile.h file from the Win32/
7152 directory to the src/ directory.
7155 Batch file to make compiling on Wi32 a little easier. Implements "make" and
7158 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7161 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
7162 This will need to be fixed later.
7165 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
7166 replaced by the correct type during configure.
7169 Modified to find a good type for TYPEOF_SF_COUNT_T.
7172 Fixed a bug when reading malformed headers.
7175 Set read values to zero before performing read.
7177 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7180 Fixed some HTML tags which were not allowing jumps to links within the
7184 Massive hacking on this.
7187 Added recognition of 'clm ' tag.
7189 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7192 Added beginning of a capabilities list beyond simple file formats which
7193 can be read/written.
7196 Added parsing of INST and MARK chunks of AIFF files. At the moment this
7197 data is simply recorded in the log buffer. Later it will be possible to
7198 read this data from an application using sf_command().
7201 Added parsing of 'cue ' chunk which contains loop information in WAV files.
7203 * exampes/sndfile-info.c
7204 Changed reporting of Samples to Frames.
7206 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
7207 Moved from a samples to a frames nomenclature to avoid confusion.
7210 What's the best format for storing temporary files?
7213 New file for reading/writing Midi Sample Dump Standard files.
7215 * src/Makefile.am src/sndfile.c src/common.[ch]
7216 Added hooks for sds.c.
7218 * examples/sndfile-info.c
7219 Changed from using sf_perror() to using sf_error_str().
7221 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7224 Added explanation of mode parameter for sf_open().
7225 Added explanation of usage of SFM_* values in sf_seek().
7227 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
7228 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
7229 truncation was suggested by James McCartney.
7232 Documented SFC_FILE_TRUNCATE.
7234 * tests/command_test.c
7235 Add tests for SFC_FILE_TRUNCATE.
7238 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
7239 make resetting the error number optional. All uses of the macro other than
7240 in error reporting functions were changed to reset the error number.
7243 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
7246 * tests/write_read_test.tpl
7247 Added tests of internal error state.
7249 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7251 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
7252 Renamed private.h to gsm610_priv.h to prevent clash with other headers
7253 named private.h in other directories. (Probably only a problem on MacOS 9).
7255 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
7256 Renamed private.h to g72x_priv.h to prevent clash with other headers
7257 named private.h in other directories. (Probably only a problem on MacOS 9).
7260 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
7264 Changes the name of samples field of the SF_INFO to frames. The old name
7265 had caused too much confusion and it simply had to be changed. There will
7266 be at least one more pre-release.
7268 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7271 Updated formats matrix to include RAW (header-less) GSM 6.10.
7272 Fix specificaltion of table and spelling mistakes.
7274 * src/sndfile.c src/command.c
7275 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
7279 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
7282 Update version to 1.0.0rc5.
7285 Removed inclusion of un-necessary header.
7287 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7290 Minor fixes of info written to log buffer.
7293 Add definition of HAVE_LRINT_REPLACEMENT.
7295 * tests/floating_point_test.c
7296 Fix file hash check on systems without lrint/lrintf.
7299 Limit SNR to less than -500.0dB.
7301 * examples/sndfile2oct.c
7302 Fixed compiler warnings.
7305 Fixed error where last parameter of sf_error_str() was sf_count_t instead
7308 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7311 Why doesn't libsndfile do interleaving/de-interleaving.
7313 * tests/pcm_test.tpl
7314 On Win32 do not perform hash check on files containing doubles.
7316 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7319 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
7320 of type sf_count_t to their maximum positive value.
7322 * src/dwvw.c src/w64.c
7323 Used SF_COUNT_MAX_POSITIVE().
7325 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7328 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
7330 * tests/floating_point_tests.c
7331 Fixed hash values for 24 bit PCM PAF files.
7332 Disabled file has check if lrintf() function is not available and added
7334 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
7335 problems on platforms without lrintf() ie Solaris.
7337 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7340 Fixed a problem with two different kinds of mal-formed WAV file header. The
7341 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
7342 incomplete 'INFO' chunk at the end of the file.
7345 Added fix to allow differentiation between W64 files and ACID files.
7347 * src/au_g72x.c src/common.h src/sndfile.c
7348 Added error for G72x encoded files with more than one channel.
7350 * tests/pcm_test.tpl tests/utils.tpl
7351 Moved function check_file_hash_or_die() to utils.tpl. Function was then
7352 modified to calculate the has of the whole file.
7355 Fixed problem writing the 'fact' chunk on big endian systems.
7358 Fixed bug where .paf files were being written as Sphere NIST.
7360 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7363 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
7366 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
7368 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7370 * man/sndfile-info.1 man/sndfile-play.1
7371 Added manpages supplied by Joshua Haberman the Debian maintainer for
7372 libsndfile. Additional tweaks by me.
7374 * configure.in man/Makefile.am
7375 Hooked manpages into autoconf/automake system.
7378 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
7380 * tests/update_header_test.c
7381 Improved rigor of testing.
7384 Fixed problem with *_write_header() functions.
7386 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7389 Updates to documentation to fix problems found by wdg-html-validator.
7391 * src/common.h src/command.c
7392 Added normalize parameter to calls to psf_calc_signal_max() and
7393 psf_calc_max_all_channels().
7396 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
7397 SFC_CALC_NORM_MAX_ALL_CHANNELS.
7400 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
7402 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7404 * examples/sndfile-play.c Win32/Makefile.msvc
7405 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
7406 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
7409 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7412 New file for frequently asked questsions.
7414 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7417 Documentation fixes.
7419 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
7420 Add support of 40kbps G723 ADPCM encoding.
7422 * tests/lossy_comp_test.c tests/floating_point_test.c
7423 Add tests for 40kbps G723 ADPCM encoding.
7426 Update support matrix.
7428 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7431 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
7432 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
7434 * src/sndfile.c src/pcm.c
7435 Add ability to turn on and off the addition of a PEAK chunk for floating
7436 point WAV and AIFF files.
7438 * src/sndfile.[ch] src/common.h src/command.c
7439 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
7443 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
7445 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7447 * src/sndfile.c src/gsm610.c
7448 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
7449 encoded RAW (header-less) files.
7452 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
7455 Fixed more documentation bugs.
7457 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7459 * src/sndfile.h src/common.h
7460 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
7461 header file sndfile.h to the private header file common.h to avoid
7462 confusion about the actual capabilities of libsndfile.
7464 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7466 * src/aiff.c src/wav.c
7467 Fixed file parsing for WAV and AIFF files containing non-audio data after
7470 * src/aiff.c src/sndfile.c
7471 Add support for GSM 6.10 encoded AIFF files.
7473 * tests/lossy_comp_test.c tests/Makefile.am
7474 Add tests for GSM 6.10 encoded AIFF files.
7477 Fix compiler warnings.
7479 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7481 * tests/command_test.c
7482 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
7486 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
7487 from AIFF and WAV files with non-audio data after the audio chunk.
7490 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
7491 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
7492 moved to src/sndfile.h
7494 * src/aiff.c src/wav.c
7495 Begin implementation of XXXX_command() hook for sf_command().
7497 * tests/write_read_test.tpl
7498 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
7501 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7503 * tests/update_header_test.c
7504 Allow read sample count == write sample count - 1 to fix problems with VOC
7507 * tests/write_read_test.tpl tests/pcm_test.tpl
7508 Fixed some problems in the test suite discovered by using Valgrind.
7510 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7512 * tests/utils.[ch] tests/*.c
7513 Renamed check_log_buffer() to check_log_buffer_or_die().
7516 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
7517 for all file formats other than VOC.
7519 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7521 * src/sndfile.[ch] src/common.h
7522 Started adding functionality to allow the file header to be updated before
7523 the file is closed on files open for SFM_WRITE. This was requested by
7524 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
7526 * tests/update_header_test.c
7527 New test program to test that the above functionality is working correctly.
7529 * tests/peak_chunk_test.c tests/floating_point_test.c
7532 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7535 Changed length count parameters for all endswap_XXX() functions from
7536 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
7537 functions are only called frin inside the library, are always called with
7538 integer parameters and doing the actual calculation on 64 bit values is
7539 slow in comparision to doing it on ints.
7541 * examples/sndfile-play.c
7542 More playback hacking for Win32.
7544 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7547 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
7548 added %D specifier for printing the sf_count_t type.
7551 Changed all usage of psf_log_printf() with %D format conversion specifiers
7552 to use %M conversion instead.
7554 * tests/pcm_test.tpl tests/pcm_test.def
7555 New files to autogen pcm_test.c.
7558 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
7560 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7563 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
7566 * examples/sndfile-play.c
7567 Start adding playback support for Win32.
7569 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7572 Worked to removed compiler warnings.
7573 Extensive refactoring.
7576 Added function psf_memset() which works like the standard C function memset
7577 but takes and sf_count_t as the length parameter.
7580 Replaced calls to memset(0 with calls to psf_memset() as required.
7582 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7585 Added "libsndfile : " to the start of all error messages. This was suggested
7586 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
7589 Added endswap_XXXX_copy() functions.
7591 * src/pcm.c src/float32.c src/double64.c
7592 Use endswap_XXXX_copy() functions and removed dead code.
7593 Cleanups and optimisations.
7595 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7597 * src/sndfile.c src/sndfile.h
7598 Gave values to all the SFC_* enum values to allow better control of the
7599 interface as commands are added and removed.
7600 Added new command SFC_SET_ADD_PEAK_CHUNK.
7602 * src/wav.c src/aiff.c
7603 Modified wav_write_header and aiff_write_header to make addition of a PEAK
7604 chunk optional, even on floating point files.
7606 * tests/benchmark.tpl
7607 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
7608 PEAK chunk for the benchmark where we are trying to miximize speed.
7611 Changed tribyte typedef to something more sensible.
7612 Further conversion speed ups.
7614 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7617 In major_formats rename "Sphere NIST" to "NIST Sphere".
7619 * src/common.c src/sfendian.c
7620 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
7621 be tweaked to provide maximum performance. Since maximum performance on one
7622 platform does not guarantee maximum performance on another, a small set of
7623 functions will be written and the optimal one chosen at compile time.
7625 * src/common.h src/sfendian.h
7626 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
7629 Add sfendian.c to build targets.
7631 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7633 * src/pcm.c src/sfendian.h
7634 Re-coded PCM encoders and decoders to match or better the speed of
7635 libsndfile version 0.0.28.
7637 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7640 Add checking for WAVPACK data in standard PCM WAV file. Return error if
7641 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
7642 and then stores non-PCM data.
7644 * tests/benchmark.tpl
7647 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7649 * tests/benchmark.tpl
7650 Added conditional definition of M_PI.
7651 For Win32, set WRITE_PERMS to 0777.
7653 * Win32/Makefile.msvc
7654 Added target to make generate program on Win32.
7657 Removed handler for Samplitude RAP file format. This file type seems rarer
7658 than hens teeth and is completely undocumented.
7660 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
7661 Removed references to sampltiude RAP format.
7663 * tests/benchmark.tpl
7664 Benchmark program now prints the libsndfile version number when run. This
7665 program was also backported to version 0 to compare results. Version
7666 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
7667 some. The slow ones need to be fixed before final release.
7669 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7671 * tests/benchmark.def tests/benchmark.tpl
7672 New files which generate tests/benchmark.c using Autogen. Added int ->
7673 SF_FORMAT_PCM_24 test.
7676 Now and Autogen output file.
7679 Updated for above changes.
7681 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7684 Basic benchmark program complete. Need to convert it to Autogen.
7686 * Win32/Makefile.msvc
7687 Added benchmark.exe target.
7689 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7691 * examples/generate.c
7692 New program to generate a number of different output file formats from a
7693 single input file. This allows testing of the created files.
7696 New test program to benchmark libsndfile. Nowhere near complete yet.
7698 * examples/Makefile.am tests/Makefile.am
7699 New make rules for the two new programs.
7701 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7703 * Win32/libsndfile.def
7704 Removed definition for sf_signal_max().
7710 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7712 * doc/version-1.html
7716 Bumped version to 1.0.0rc2.
7718 * src/sf_command.h src/Makefile.am
7719 Removed the header file as it was no longer being used. Thanks to Anand
7720 Kunria for spotting this.
7723 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7725 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7728 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
7732 Win32 fixes to ensure O_BINARY is used for file open.
7735 New file documenting the building libsndfile on Win32.
7738 Updating of documentation.
7740 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7743 Minor changes to allow easier determination of test file name.
7746 Removed function sf_signal_max().
7748 * examples/sndfile-play.c
7749 Changed call to sf_signal_max() to a call to sf_command().
7751 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7753 * src/format.c src/command.c
7754 Renamed format.c to command.c which will now include code for sf_command()
7755 calls to perform operations other than format commands.
7757 * src/sndfile.c src/sndfile.h
7758 Removed function sf_get_signal_max() which is replaced by commands passed
7762 Implement commands SFC_CALC_SIGNAL_MAX.
7765 Documented SFC_CALC_SIGNAL_MAX.
7767 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7769 * examples/sndfile-play.c
7770 Mods to make sndfile-play work on Solaris. The program sndfile-play now
7771 runs on Linux, MaxOSX and Solaris. Win32 to come.
7774 Added SF_FORMAT_DWVW_* to subtype_formats array.
7777 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
7780 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7782 * examples/sndfile-info.c
7783 Tidy up of output format.
7785 * examnples/sndfile-play.c
7786 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
7789 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
7790 required to supply extra include paths and link parameters to get
7791 sndfile-play working on MacOSX.
7793 * examples/Makefile.am
7794 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
7797 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7800 Added ability to read/write new NIST Sphere file types (A-law, u-law).
7801 Header parser was re-written from scratch. Example files supplied by Anand
7805 Support for A-law and u-law NIST files.
7807 * tests/Makefile.am tests/lossy_comp_test.c
7808 Tests for A-law and u-law NIST files.
7810 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7813 Fixed an error in error string.
7815 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7818 Removed exit command to allow cross-compiling.
7820 * Win32/unistd.h src/file_io.c
7821 Moved contents of first file into the second file (enclosed in #ifdef).
7822 Win32/unistd.h is now an empty file but still must be there for libsndfile
7823 to compile on Win32.
7825 * src/sd2.c, src/sndfile.c:
7826 Fixes for Sound Designer II files on big endian systems.
7828 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7831 Modified to work around problems with crappy MacOSX version of sed.
7832 Added sanity check for proper values for CFLAGS.
7834 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7837 Code clean up in sf_open ().
7839 * Win32/Makefile.msvc
7840 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
7841 together in a new improved form.
7844 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
7845 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
7847 * src/common.h src/sndfile.c src/wav.c src/aiff.c
7848 Added SFE_LOG_OVERRUN error.
7849 Added termination for potential infinite loop when parsing file headers.
7851 * src/wav.c src/w64.c
7852 Fixed bug casuing incorrect header generation when opening file read/write.
7854 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7857 Improved the documentation to make it clearer that the file read method
7858 and the underlying file format are completely disconnected. Suggested
7862 Started correcting docs to take into account changes made to the
7863 operations of the sf_command () function. Not complete yet.
7866 Reverted some changes which had broken the partially working SDII header
7867 parsing. Now have access to an iBook with OS X so reading and writing SDII
7868 files on all platforms should be a reality in the near future. On Mac this
7869 will involve reading the resource fork via the standard MacOS API. To move
7870 a file from Mac to another OS, the resource and data forks will need to be
7871 combined before transfer. The combined file will be read on both Mac and
7872 other OSes like any other file.
7874 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7877 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
7878 which allows libsndfile to compile on MacOSX 10.1. This patch should not
7879 interfere with compiling on other OSes.
7881 * src/GSM610/private.h
7882 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
7885 Added MacOSX replacements for lrint() and lrintf().
7887 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7890 Replaced the code to print the filename to the log buffer when a file is
7891 opened. This code seems to have been left out during the merge of
7892 sf_open_read() and sf_open_write() to make a single functions sf_open().
7894 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7897 Fixed a bug where the WAV header parser was going into an infinite loop
7898 on a badly formed LIST chunk. File supplied by David Viens.
7900 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7903 Added a message at the end of the configuration process to warn about the
7904 need for the use of pkg-config when linking programs against version 1 of
7907 * doc/pkg-config.html
7908 New documentation file containing details of how to use pkg-config to
7909 retrieve settings for CFLAGS and library locations for linking files
7910 against version 1 of libsndfile.
7912 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7915 Fixed minor bug in handling of so-called ACIDized WAV files.
7917 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7919 * Win32/libsndfile.def Win32/Makefile.msvc
7920 Two new files contributed by Michael Fink (from the winLAME project)
7921 which allows libsndfile to be built on windows in a MSDOS box by doing
7922 "nmake -f Makefile.msvc". Way cool!
7924 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7927 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
7928 generate a tarball which will configure and compile on that platform.
7929 Joined the libtool mailing list to try and get some answers.
7931 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7934 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
7935 is incompatible with with version 2.13 which had been using until now.
7936 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
7937 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
7940 Changed to automake version 1.5 to try and make a tarball which will
7943 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7946 Changed name to gsm610.c. Added reading/writing of headerless files.
7948 * src/sndfile.c src/raw.c
7949 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
7951 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7953 * tests/lossy_comp_test.c
7954 Clean up in preparation for Autogen-ing this file.
7957 Code cleanup and prepartion forgetting file seek working. Details in
7958 src/GSM610/ChangeLog.
7961 Testing complete. Is sndfile.m4 still needed?
7963 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7965 * tests/write_read_test.tpl tests/rdwr_test.tpl
7966 Merged tests from these two programs into write_read_test.tpl and deleted
7969 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7971 * src/w64.c src/svx.c src/paf.c
7972 Fixed bugs in read/write mode.
7974 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7976 * examples/Makefile.am
7977 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
7978 consistency when these programs become part of the Debian package
7982 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
7983 model for providing installation parameters to dependant programs.
7986 Cleanup of code in sf_open().
7988 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7990 * tests/utils.tpl tests/write_read_test.tpl
7991 More conversion to Autogen fixes and enchancements.
7994 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
7995 bit float and 64 bit double data. More tests still required.
7998 Added DISTCLEANFILES target to remove config.status and config.last.
8000 * Win32/Makefile.am MacOS/Makefile.am
8001 Added DISTCLEANFILES target to remove Makefile.
8003 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8005 * src/*.[ch] tests/rdwr_test.c
8006 More verifying workings of read/write mode. Fixing bugs found.
8009 Made these files Autogen generated files.
8011 * tests/util.tpl tests/util.def
8012 New Autogen files to generate utils.[ch]. Moved some generic test functions
8013 into this file. Autogen is such a great tool!
8015 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8017 * src/pcm.c src/float_cast.h Win32/config.h
8018 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
8019 (maintainer of WinLAME) and David Viens.
8021 * tests/check_log_buffer.[ch] tests/utils.[ch]
8022 Moved check_log_buffer() to utils.[ch] and deleted old file.
8024 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8026 * src/common.[ch] src/sndfile.c
8027 New function psf_default_seek() which will be the default seek function
8028 for things like PCM and floating point data. This default is set for
8029 both read and write in sf_open() but can be over-ridden by any codec
8030 during it's initialisation.
8032 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8035 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
8036 to allow opening files like this.
8038 * tests/rdwr_test .c
8042 Fixed bugs in read/write mode found due to improvements in the test
8045 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8047 * tests/rdwr_test .c
8048 New file for testing read/write mode.
8050 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8053 Removed all m4 macros from this directory as they get concatenated to form
8054 the file aclocal.m4 anyway.
8057 Moved this from the m4 directory to the root directory asn this is part of
8058 the distribution and is installed during "make install".
8060 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8063 Removed logging of peaks for all file formats other than AIFF and WAV.
8065 * tests/write_read_test.tpl tests/write_read_test.def
8066 New files which autogen uses to generate write_read_test.c. Doing it this
8067 way makes write_read_test.c far easier to maintain. Other test programs
8068 will be converted to autogen in the near future.
8071 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
8073 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8076 Fixed documention versioning.
8079 Fixed a bug in the routines which search for Large File Support on systems
8080 which have large file support by defualt.
8082 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8085 Found and fixed an issue which can cause a bug in other software (I was
8086 porting Conrad Parker's Sweep program from version 0 of the library to
8087 version 1). When opening a file for write, the libsndfile code would
8088 set the sfinfo.samples field to a maximum value.
8090 * tests/write_read_test.c
8091 Added tests to detect the above problem.
8093 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8096 Finished base implementation of read/write mode. Much more testing still
8100 Macro for detecting Large File Standard capabilities. This macro was ripped
8101 out of the aclocal.m4 file of GNU tar-1.13.
8104 Added detection of large file support. Files larger than 2 Gigabytes should
8105 now be supported on 64 bit platforms and many 32 bit platforms including
8106 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
8108 * libsndfile_convert_version.py
8109 A Python script which attempts to autoconvert code written to use version 0
8112 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8115 Finished base implementation of read/write mode. Much more testing still
8118 * tests/write_read_test.c
8119 Preliminary tests for read/write mode added. More needed.
8121 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8124 Removed sf_open_read() and sf_open_write() functions,replacting them with
8125 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
8126 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
8127 opening a file formodification (RDWR).
8129 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8132 Completed merging of separate xxx_open_read() and xxx_open_write()
8133 functions. All tests pass.
8135 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8138 Massive refactoring required to merge au_open_read() with au_open_write()
8139 to create au_open().
8141 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8144 Started changes required to allow a sound file to be opened in read/write
8145 mode, with separate file pointers for read and write. This involves merging
8146 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
8147 int a new function pcm_init() as well as doing something similar for all
8148 the file type specific functions ie aiff_open_read() and aiff_open_write()
8149 were merged to make the function aiff_open().
8151 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8154 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
8155 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
8156 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
8157 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
8160 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
8161 with psf_write and so on.
8163 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8166 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
8168 * tests/floating_point_test.c
8169 Added tests for 12, 16 and 24 bit DWVW encoding.
8171 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8174 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
8175 the target CPU. It first checks for the definition of BYTE_ORDER in
8176 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
8177 and the C compiler is not a cross compiler it compiles and runs a program
8178 to test for endian-ness. If the compiler is a cross compiler it makes a
8179 guess based on $target_cpu.
8182 Modified to use AC_C_FIND_ENDIAN.
8187 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8189 * tests/floating_point_test.c
8190 Tests completely rewritten using the dft_cmp function. Now able to
8191 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
8193 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8195 * tests/dft_cmp.[ch]
8196 New files containing functions for comparing pre and post lossily
8197 compressed data using a quickly hacked DFT.
8200 New files containing functions for saving pre and post encoded data in a
8201 file readable by the GNU Octave package.
8203 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8205 * m4/lrint.m4 m4/lrintf.m4
8206 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
8209 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8211 * tests/floating_point_test.c
8212 Fixed improper use of strncat ().
8214 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8216 * tests/headerless_test.c
8217 New test program to test the ability to open and read a known file type as a
8218 RAW header-less file.
8220 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8222 * tests/losy_comp_test.c
8223 Added a test to ensure that the data read from a file is not all zeros.
8225 * examples/sfconvert.c
8226 Added "-gsm610" encoding types.
8228 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8230 * examples/sfconvert.c
8231 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
8234 New file for testing DWVW encoder/decoder.
8236 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8239 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
8242 Improved reporting of encoding types.
8247 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8250 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
8251 Reading 12 bit DWVW is now working.
8253 * src/aiff.c common.h sndfile.c
8254 Added hooks for DWVW encoded AIFF and RAW files.
8256 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8259 Robustify header parsing.
8262 Header file wav.h was renamed to wav_w64.h to signify sharing of
8263 definitions across the two file types.
8265 * src/wav.c src/w64.c src/wav_w64.c
8267 Modified and moved functions with a high degree of similarity between
8268 wav.c and w64.c to wav_w64.c.
8270 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8273 Completed work on getting read and write working.
8276 Added code to scale floating point data so it plays at a reasonable volume.
8278 * tests/Makefile.am tests/write_read_test.c
8279 Added tests for W64 files.
8281 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8284 Modded all code in file header writing routines to use
8285 psf_new_binheader_writef().
8286 Removed psf_binheader_writef() from src/common.c.
8287 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
8289 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8292 Modded all code in file parsing routines to use psf_new_binheader_readf().
8293 Removed psf_binheader_readf() from src/common.c.
8294 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
8297 Added new function psf_new_binheader_writef () which will soon replace
8298 psf_binheader_writef (). The new function has basically the same function
8299 as the original but has a more flexible and capable interface. It also
8300 allows the writing of 64 bit integer values for files contains 64 bit file
8303 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8305 * src/formats.c src/sndfile.c src/sndfile.h
8306 Added code allowing full enumeration of supported file formats via the
8307 sf_command () interface.
8308 This feature will allow applications to avoid needing recompilation when
8309 support for new file formats are added to libsndfile.
8311 * tests/command_test.c
8312 Added test code for the above feature.
8314 * examples/list_formats.c
8315 New file. An example of the use of the supported file enumeration
8316 interface. This program lists all the major formats and for each major
8317 format the supported subformats.
8319 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8321 * src/*.[ch] tests/*.c
8322 Changed command parameter of sf_command () function from a test string to
8323 an int. The valid values for the command parameter begin with SFC_ and are
8324 listed in src/sndfile.h.
8326 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8328 * src/formats.c src/sndfile.c
8329 Added an way of enumerating a set of common file formats using the
8330 sf_command () interface. This interface was suggested by Dominic Mazzoni,
8331 one of the main authors of Audacity (http://audacity.sourceforge.net/).
8333 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8336 Added checking of filename parameter in sf_open_read (). Previousy, if a
8337 NULL pointer was passed the library would segfault.
8339 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8341 * src/common.c src/common.h
8342 Changed the len parameter of the endswap_*_array () functions from type
8346 Fixed a problem which
8348 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8351 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
8352 Paul Hartman for pointing this out.
8354 * tests/lossy_comp_test.c tests/floating_point_test.c
8355 Added definitions for M_PI for when it isn't defined in <math.h>.
8357 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8360 Re-implemented the header reader. Old version was making incorrect
8361 assumptions about the endian-ness of the file from the magic number at the
8362 start of the file. The new code looks at the integer which holds the
8363 number of channels and determines the endian-ness from that.
8365 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8368 Added support for other AIFC types ('raw ', 'in32', '23ni').
8369 Further work on IMA ADPCM encoding.
8371 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8374 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
8375 encodings for both WAV and AIFF files.
8378 Started adding IMA ADPCM support.
8380 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8383 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
8386 * src/wav.c src/aiff.c src/au.c src/raw.c
8387 Added support for SF_FORMAT_DOUBLE data.
8390 Addition of endswap_long_array () for endian swapping 64 bit integers. This
8391 function will work correctly on processors with 32 bit and 64 bit longs.
8392 Optimised endswap_short_array () and endswap_int_array ().
8395 Added and extra check. After the first file of each type is written to disk
8396 a checksum is performed of the first 64 bytes and checked against a pre-
8397 calculated value. This will work whatever the endian-ness of the host
8400 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8403 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
8404 supplying example files.
8406 * tests/lossy_comp_test.c
8407 Added tests for above.
8409 * src/common.h src/*.c
8410 Removed function typedefs from common.h and function pointer casting in all
8411 the other files. This allows the compiler to perform proper type checking.
8412 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
8416 Added new function psf_new_binheader_readf () which will eventually replace
8417 psf_binheader_readf (). The new function has basically the same function as
8418 the original but has a more flexible and capable interface. It also allows
8419 the reading of 64 bit integer values for files contains 64 bit file
8422 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8425 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
8426 PCM, u-law and A-law files with one or two channels.
8428 * src/write_read_test.c tests/lossy_comp_test.c
8429 Added tests for VOC files.
8431 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8434 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
8438 More work on this braindamaged format. The VOC files produced by SoX also
8439 have a number of inconsistencies.
8441 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8444 Added support for 8 bit PCM PAF files.
8446 * tests/write_read_test.c
8447 Added tests for 8 bit PAF files.
8449 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8452 New test program to test for correct scaling of integer values between
8453 different sized integer containers (ie short -> int).
8454 The new specs for libsndfile state that when the source and destination
8455 containers are of a different size, the most significant bit of the source
8456 value becomes the most significant bit of the destination container.
8458 * src/pcm.c src/paf.c
8459 Modified to pass the above test program.
8461 * tests/write_read_test.c tests/lossy_comp_test.c
8462 Modified to work with the new scaling rules.
8464 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8466 * src/raw.c tests/write_read_test.c tests/write_read_test.c
8467 Added ability to do raw reads/writes of float, u-law and A-law files.
8469 * src/*.[ch] examples/*.[ch] tests/*.[ch]
8470 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
8471 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
8473 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8476 Started implmentation of major changes documented in doc/version1.html.
8478 Removed all usage of off_t which is not part of the ISO C standard. All
8479 places which were using it are now using type long which is the type of
8480 the offset parameter for the fseek function.
8481 This should fix problems on BeOS, MacOS and *BSD like systems which were
8482 failing "make check" because sizeof (long) != sizeof (off_t).
8484 --------------------------------------------------------------------------------
8485 This is the boundary between version 1 of the library above and version 0 below.
8486 --------------------------------------------------------------------------------
8488 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8490 * examples/sfplay_beos.cpp
8491 Added BeOS version of sfplay.c. This needs to be compiled using a C++
8492 compiler so is therefore not built by default. Thanks to Marcus Overhagen
8495 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8498 New example file showing how libsndfile can be used to read and play a
8500 At the moment on Linux is supported. Others will follow in the near future.
8502 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8505 Fixed problem with normalisation code where a value of 1.0 could map to
8506 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
8509 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8512 Fixed scaling issue when reading/writing 8 bit files using
8513 sf_read/sf_write_short ().
8514 On read, values are scaled so that the most significant bit in the char
8515 ends up in the most significant bit of the short. On write, values are
8516 scaled so that most significant bit in the short ends up as the most
8517 significant bit in the char.
8519 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8521 * src/au.c src/sndfile.c
8522 Added support for 32 bit float data in big and little endian AU files.
8524 * tests/write_read_test.c
8525 Added tests for 32 bit float data in AU files.
8527 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8529 * tests/lossy_comp_test.c
8530 Finalised testing of stereo files where possible.
8532 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8534 * src/wav_ms_adpcm.c
8535 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
8536 pointing out this problem.
8538 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8540 * src/wav_ms_adpcm.c
8541 Modified function srate2blocksize () to handle 44k1Hz stereo files.
8543 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8546 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
8547 development platform) does not yet support 64 bit file offsets by default,
8548 current handling of this file format treats everything as 32 bit and fails
8549 openning the file, if it finds anything that goes beyond 32 bit values.
8551 * src/sndfile.[hc] src/common.h src/Makefile.am
8552 Added hooks for W64 support.
8554 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8557 Added more warnings options to CFLAGS when the gcc compiler is detected.
8559 * src/*.[ch] tests/*.c examples/*.c
8560 Started fixing the warning messages due to the new CFLASG.
8563 More work on VOC file read/writing.
8566 Found that PAF files were not checking the normalisation flag when reading
8567 or writing floats and doubles. Fixed it.
8569 * tests/floating_point_test.c
8570 Added specific test for the above problem.
8572 * src/float_cast.h src/pcm.c
8573 Added a section for Win32 to define lrint () and lrintf () in the header
8574 and implement it in the pcm.c
8576 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8578 * sndfile-config.in m4/sndfile.m4
8579 These files were donated by Conrad Parker who also provided instructions
8580 on how to install them using autoconf/automake.
8583 Fiddled around with this file some more. On Linux and other gcc supported
8584 OSes use the C99 functions lrintf() and lrint() for casting from floating
8585 point to int without incurring the huge perfromance penalty (particularly
8586 on the i386 family) caused by the regular C cast from float to int.
8587 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
8588 I had been playing with.
8590 * configure.in m4/lrint.m4 m4/lrintf.m4
8591 Add detection of these functions.
8593 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8596 Completed code for reading VOC files containing a single audio data
8598 Started implementing code to handle files with multiple VOC_SOUND_DATA
8599 segments but couldn't be bothered finishing it. Multiple segment files can
8600 have different sample rates for different sections and other nasties like
8601 silence and repeat segments.
8603 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8605 * src/common.h src/*.c
8606 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
8609 Further development of the read part of this woefult file format.
8611 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8614 Implemented gcc and i386 floating point to int cast macros. Standard cast
8615 will be used when not on gcc for i385.
8618 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
8619 comply with macros in float_cast.h.
8621 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8624 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
8625 on MacOS with CodeWarrior 6.0.
8627 * MacOS/MacOS-readme.txt
8628 Updated the compile instructions. Probably still need work as I don't have
8631 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8633 * src/wav.c src/aiff.c common.c
8634 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
8635 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
8638 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
8639 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
8642 New file containing a minimal implementation of snprintf and vsnprintf
8643 functions named missing_snprintf and missing_vsnprintf respectively. These
8644 are only compliled into the binary if snprintf and/or vsnprintf are not
8647 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8650 New file to handle Berkeley/IRCAM/CARL files.
8652 * src/sndfile.c src/common.h
8653 Modified for IRCAM handling.
8656 Added tests for IRCAM files.
8658 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8661 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
8662 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
8663 header writing code to generate smaller ms compliant ulaw and Alaw WAV
8666 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8668 * tests/stdio_test.sh tests/stdio_test.c
8669 Shell script was rewritten as a C program due to incompatibilities of the
8670 sh shell on Linux and Solaris.
8672 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8674 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
8675 New test programs to verify the correct operation of reading from stdin and
8678 * src/sndfile.c wav.c au.c nist.c paf.c
8679 Fixed a bugs uncovered by the new test programs above.
8681 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8683 * src/sndfile.c wav.c
8684 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
8686 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8689 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
8690 WAV files. Root cause was the declaration of the func_seek typedef not
8691 matching the functions it was actually being used to point to. In OpenBSD
8692 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
8693 to log into his OpenBSD machine to debug this problem.
8695 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8698 Implemented sf_command ("norm float").
8701 Implemented handling of sf_command ("set-norm-float"). Float normalization
8702 can now be turned on and off.
8704 * tests/double_test.c
8705 Renamed to floating_point_test.c. Modified to include tests for all scaled
8706 reads and writes of floats and doubles.
8709 Fixed bug in normalization code found with improved floating_point_test
8713 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
8714 text annotations from WAV files.
8717 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
8718 text annotations from WAV files.
8720 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8722 * examples/sf_info.c example/Makefile.am
8723 Renamed to sndfile_info.c. The program sndfile_info will now be installed
8724 when the library is installed.
8727 New file defining floating point to short and int casts. These casts will
8728 eventually replace all flot and double casts to short and int. See comments
8729 at the top of the file for the reasoning.
8732 Changed all default float and double casts to short or int with macros
8733 defined in floatcast.h. At the moment these casts do nothing. They will be
8734 replaced with faster float to int cast operations in the near future.
8736 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8738 * tests/command_test.c
8739 New file for testing sf_command () functionality.
8742 Revisiting of error return values of some functions.
8743 Started implementing sf_command () a new function will allow on-the-fly
8744 modification of library behaviour, or instance, sample value scaling.
8747 Added hook for format specific sf_command () calls to SNDFILE struct.
8750 Updated and errors corrected.
8753 New documentation file explaining new sf_command () function.
8755 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8758 Fixed error return values from sf_read*() and sf_write*(). There were
8759 numerous instances of -1 being returned through size_t. These now all set
8760 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
8763 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8766 Fixed use of va_arg() calls that were causing warning messages with the
8767 latest version of gcc (thanks Maurizio Umberto Puxeddu).
8769 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8771 * src/*.c src/sfendian.h
8772 Moved definition of MAKE_MARKER macro to sfendian.h
8774 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8777 Modified sf_get_lib_version () so that version string will be visible using
8778 the Unix strings command.
8780 * examples/Makefile.am examples/sfinfo.c
8781 Renamed sfinfo program and source code to sf_info. This prevents a name
8782 clash with the program included with libaudiofile.
8784 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8786 * tests/read_seek_test.c tests/lossy_comp_test.c
8787 Added tests for sf_read_float () and sf_readf_float ().
8790 New files for handling Creative Voice files (not complete).
8793 New files for handling Samplitude files (not complete).
8795 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8797 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
8798 Converted these files to using psf_binheader_readf() function. Will soon be
8799 ready to attempt to make reading writing from pipes work reliably.
8802 Added code for sf_read_float () and sf_readf_float () methods of accessing
8805 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8807 * src/paf.c src/wav_gsm610.c
8808 Removed two printf()s which had escaped notice for some time (thanks
8809 Sigbjørn Skjæret).
8811 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8814 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
8815 libsndfile from being played in Windoze (thanks klay).
8817 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8820 Implemented psf_binheader_readf() which will do for file header reading what
8821 psf_binheader_writef() did for writing headers. Will eventually allow
8822 libsndfile to read and write from pipes, including named pipes.
8824 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8826 * MacOS/config.h Win32/config.h
8827 Attempted to bring these two files uptodate with src/config.h. As I don't
8828 have access to either of these systems support for them may be completely
8831 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8834 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
8835 tested on Intel x86 and UltraSparc processors.
8837 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8840 Modified to allow REX files (from Propellorhead's Recycle and Reason
8841 programs) to be read.
8842 REX files are basically an AIFF file with slightly unusual sequence of
8843 chunks (AIFF files are supposed to allow any sequence) and some extra
8844 application specific information.
8845 Not yet able to write a REX file as the details of the application specific
8848 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8851 Fixed endian bug when reading PEAK chunk on big endian machines.
8854 Fixed endian bug when reading PEAK chunk on big endian machines with
8855 --enable-force-broken-float configure option.
8856 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
8858 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8860 * configure.in src/config.h.in
8861 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
8862 capabilities are detected at run time.
8863 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
8864 where the processor can in fact handle floats correctly.
8867 Rejigged code reading and writing of floats on broken processors.
8870 Removed this directory and all its files as they are no longer needed.
8872 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8874 * tests/peak_chunk_test.c
8875 New test to validate reading and writing of peak chunk.
8877 * examples/sfconvert
8878 Added -float32 option.
8881 Changed all error return values to negative values (ie the negative of what
8884 * src/sndfile.c tests/error_test.c
8885 Modified to take account of the previous change.
8887 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8890 File renamed from wav_float.c and renamed function to something more
8892 Added runtime detection of floating point capabilities.
8893 Added recording of peaks during write for generation of PEAK chunk.
8895 * src/wav.c src/aiff.c
8896 Added handing for PEAK chunk for floating point files. PEAK is read when the
8897 file headers are read and generated when the file is closed. Logic is in
8898 place for adding PEAK chunk to end of file when writing to a pipe (reading
8899 and writing from/to pipe to be implemented soon).
8902 Modified sf_signal_max () to use PEAK values if present.
8904 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8907 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
8908 other calls to functions in this file from the filetype specific files.
8911 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
8912 ulaw_write_init () and removed all other calls to functions in alaw.c and
8913 ulaw.c from the filetype specific files.
8915 * tests/write_read_test.c
8916 Added tests to validate sf_seek () on all file types.
8919 Implemented raw_seek () function to fix a bug where
8920 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
8923 Fixed a bug in paf24_seek () found due to added seeks tests in
8924 tests/write_read_test.c
8926 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8928 * tests/read_seek_test.c
8929 Fixed a couple of broken binary files.
8931 * src/aiff.c src/wav.c
8932 Added handling of PEAK chunks on file read.
8934 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8936 * check_libsndfile.py
8937 New file for the regression testing of libsndfile.
8938 check_libsndfile.py is a Python script which reads in a file containing
8939 filenames of audio files. Each file is checked by running the examples/sfinfo
8940 program on them and checking for error or warning messages in the libsndfile
8943 * check_libsndfile.list
8944 This is an example list of audio files for use with check_libsndfile.py
8946 * tests/lossy_comp_test.c
8947 Changed the defined value of M_PI for math header files which don't have it.
8948 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
8949 Praetor Satanus of Acheron for bringing this to my attention.
8951 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8954 Removed psf_header_setf () which was no longer required after refactoring
8955 and simplification of header writing.
8956 Added 'z' format specifier to psf_binheader_writef () for zero filling header
8957 with N bytes. Used by paf.c and nist.c
8959 * tests/check_log_buffer.c
8960 New file implementing check_log_buffer () which reads the log buffer of a
8961 SNDFILE* object and searches for error and warning messages. Calls exit ()
8965 Added calls to check_log_buffer () after each call to sf_open_XXX ().
8967 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8969 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
8970 Major rehack of header writing using psf_binheader_writef ().
8972 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8974 * src/wav.c src/wav_ima_adpcm.c
8975 Major rehack of header writing using psf_binheader_writef ().
8977 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8980 Changed return type of get_encoding_str () to prevent compiler warnings on
8983 * src/aiff.c src/au.c
8984 Major rehack of header writing using psf_binheader_writef ().
8986 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8988 * src/common.h src/common.c
8990 Name of log buffer changed from strbuffer to logbuffer.
8991 Name of log buffer index variable changed from strindex to logindex.
8994 Changed name of internal logging function from psf_sprintf () to
8996 Changed name of internal header generation functions from
8997 psf_[ab]h_printf () to psf_asciiheader_printf () and
8998 psf_binheader_writef ().
8999 Changed name of internal header manipulation function psf_hsetf () to
9002 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9005 Fixed reading and writing of sample_byte_format header. "01" means little
9006 endian and "10" means big endian regardless of bit width.
9009 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
9010 way screwed up and spews out buckets of warning messages from the system
9012 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
9014 Made decision to harmonise source code version number and .so library
9015 version number. Future releases will stick to this rule.
9017 * doc/new_file_type.HOWTO
9018 New file to document the addition of new file types to libsndfile.
9020 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9023 New file for reading/writing Sphere NIST audio file format.
9024 Originally requested by Elis Pomales in 1999.
9025 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
9026 Some vital information gleaned from the source code to Bill Schottstaedt's
9027 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
9028 Currently reading and writing 16, 24 and 32 bit, big-endian and little
9029 endian, stereo and mono files.
9031 * src/common.h src/common.c
9032 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
9035 Added test for vsnprintf () required by psf_ah_printf ().
9037 * tests/write_read_test.c
9038 Added tests for supported NIST files.
9040 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9042 * tests/write_read_test.c
9043 Added tests for little endian AIFC files.
9046 Minor re-working of aiff_open_write ().
9047 Added write support for little endian PCM encoded AIFC files.
9049 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9052 Minor re-working of aiff_open_read ().
9053 Added read support for little endian PCM encoded AIFC files from the Mac
9054 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
9055 and a working patch.
9056 The patch was not used as is but gave a good guide as to what to do.
9058 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9061 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
9062 pointed out the error.
9064 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9066 * examples/make_sine.c
9067 Re-write of this example using sample rate and required frequency in Hz.
9069 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9072 Fixed bug that prevented known file types from being read as RAW PCM data.
9074 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9077 Added handing of COMT chunk.
9079 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9081 * examples/sfconvert.c
9082 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
9084 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9087 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
9089 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9092 Added -lm for write_read_test_LDADD.
9094 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9096 * src/sndfile.c src/au.c
9097 Fixed bug which prevented writing of G723 24kbps AU files.
9099 * tests/lossy_comp_test.c
9100 Corrrection to options for G723 tests.
9103 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
9104 doesn't allow gcc -pipe option.
9106 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9108 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
9109 Fixed normailsation bugs shown up by new double_test program.
9111 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9114 Fixed bug in normalisation code (spotted by Steve Lhomme).
9116 * tests/double_test.c
9117 New file to test scaled and unscaled sf_read_double() and sf_write_double()
9120 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9123 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
9125 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9128 Removed prototype of unimplemented function sf_get_info(). Added prototype
9129 for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
9131 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9134 New file to contain a complete rewrite of the PCM data handling.
9136 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9139 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
9140 Skjæret for spotting this one.
9142 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9144 * src/au_g72x.c src/G72x/g72x.c
9145 Added G723 encoded AU file support.
9147 * tests/lossy_comp_test.c
9148 Added tests for G721 and G723 encoded AU files.
9150 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9153 Changed the license to LGPL. Albert Faber who had copyright on
9154 Win32/unistd.h gave his permission to change the license on that file. All
9155 other files were either copyright erikd AT mega-nerd DOT com or copyright
9156 under a GPL/LGPL compatible license.
9158 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9160 * tests/lossy_comp_test.c
9161 Fixed incorrect error message.
9163 * src/au_g72x.c src/G72x/*
9164 G721 encoded AU files now working.
9166 * Win32/README-Win32.txt
9167 Replaced this file with a new one which gives a full explanation
9168 of how to build libsndfile under Win32. Thanks to Mike Ricos.
9170 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9173 Removed double leading underscores from the start of all variable and
9174 function names. Identifiers with a leading underscores are reserved
9175 for use by the compiler.
9177 * src/au_g72x.c src/G72x/*
9178 Continued work on G721 encoded AU files.
9180 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9183 New files for reading/writing G721 and G723 ADPCM audio. These files
9184 are from a Sun Microsystems reference implementation released under a
9185 free software licence.
9186 Extensive changes to this code to make it fit in with libsndfile.
9187 See the ChangeLog in this directory for details.
9190 New file for G721 encoded AU files.
9192 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9194 * libsndfile.spec.in
9195 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
9197 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9199 * src/sndfile.c src/sndfile.h
9200 Add checking for and handling of header-less u-law encoded AU/SND files.
9201 Any file with a ".au" or ".snd" file extension and without the normal
9202 AU file header is treated as an 8kHz, u-law encoded file.
9205 New function for opening a headerless u-law encoded file for read.
9207 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9210 Add checking for files shorter than minimal PAF file header length.
9212 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9214 * tests/write_read_test.c
9215 Added extra sf_perror() calls when sf_write_XXXX fails.
9217 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9220 Modified usage of va_arg() macro to work correctly on PowerPC
9221 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
9222 machine while I was trying to track this down.
9224 * configure.in src/*.[ch]
9225 Sorted out some endian-ness issues brought up by PowerPC Linux.
9227 * tests/read_seek_test.c
9228 Added extra debugging for when tests fail.
9230 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9233 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
9234 to Sigbjørn Skjæret for reporting this.
9236 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9238 * src/sndfile.c src/wav.c src/wav_gsm610.c
9239 Finallised writing of GSM 6.10 WAV files.
9241 * tests/lossy_comp_test.c
9242 Wrote new test code for GSM 6.10 files.
9245 Fixed incorrect format in printf() statement.
9247 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9250 Fixed comments about sf_perror () and sf_error_str ().
9252 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9255 Fixed --enable-justsrc option.
9257 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9260 Fixed checking of bytespersec field of header. Still some weirdness
9263 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9265 * tests/lossy_comp_test.c
9266 Added option to test PCM WAV files (sanity check).
9267 Fixed bug in sf_seek() tests.
9269 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9271 * src/sndfile.c src/wav.c
9272 Minor changes to allow writing of GSM 6.10 WAV files.
9274 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9276 * configure.in Makefile.am src/Makefile.am
9277 Finally got around to figuring out how to build a single library from
9278 multiple source directories.
9279 Reading GSM 6.10 files now seems to work.
9281 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9284 Added more error reporting in read_fmt_chunk().
9286 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9289 Modified program to accept multiple filenames from the command line.
9291 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9293 * src/wav_ima_adpcm.c
9294 Moved code around in preparation to adding ability to read/write IMA ADPCM
9297 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9300 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
9301 causing seg. faults on Sparc Solaris.
9303 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9306 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
9309 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
9312 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9315 Fixed handling of incorrect size field in AU header on read. Thanks to
9316 Christoph Lauer for finding this problem.
9318 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9321 Fixed a bug with incorrect SSND chunk length being written. This also lead
9322 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
9325 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9328 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
9329 came to light when implementing tests for the new functions which operate
9330 in terms of frames rather than items.
9332 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9335 Modified file type detection to use first 12 bytes of file rather than
9336 file name extension. Required this because NIST files use the same
9337 filename extension as Microsoft WAV files.
9339 * src/sndfile.c src/sndfile.h
9340 Added short, int and double read/write functions which work in frames
9341 rather than items. This was originally suggested by Maurizio Umberto
9344 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9347 Finished off implementation of write using __psf_hprintf().
9349 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9352 Added a buffer to SF_PRIVATE for writing the header. This is required
9353 to make generating headers for IFF/SVX files easier as well as making
9354 it easier to do re-write the headers which will be required when
9355 sf_rewrite_header() is implemented.
9358 Implemented __psf_hprintf() function. This is an internal function
9359 which is documented briefly just above the code.
9361 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9364 Fixed a bug in sf_write_raw() where it was returning incorrect values
9365 (thanks to Richard Dobson for finding this one). Must put in a test
9366 routine for sf_read_raw and sf_write_raw.
9369 Fixed default FORMsize in __aiff_open_write ().
9372 Added copy of filename to internal data structure. IFF/SVX files
9373 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
9374 copy the file name (less the leading path information) to the
9378 Started implementing writing of files.
9380 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9383 New file for reading/writing 8SVX and 16SVX files.
9385 * src/sndfile.[ch] src/common.h
9386 Changes for SVX files.
9389 Fixed header parsing when unknown chunk is found.
9391 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9394 New file for reading/writing Ensoniq PARIS audio file format.
9396 * src/sndfile.[ch] src/common.h
9397 Changes for PAF files.
9400 Added stuff for sf_get_lib_version() function.
9403 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9405 * src/sndfile.h MacOS/config.h
9406 Fixed minor MacOS configuration issues.
9408 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9411 Added a new directory for the MacOS config.h file and the
9415 Fixed calculation of datalength when reading SSND chunk. Thanks to
9416 Sigbjørn Skjæret for pointing out this error.
9418 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9420 * src/sndfile.c src/sndfile.h src/raw.c
9421 Further fixing of #includes for MacOS.
9423 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9425 * src/wav.c src/aiff.c
9426 Added call to ferror () in main header parsing loop of __XXX_open_read
9427 functions. This should fix problems on platforms (MacOS, AmigaOS) where
9428 fseek()ing or fread()ing beyond the end of the file puts the FILE*
9429 stream in an error state until clearerr() is called.
9431 * tests/write_read_test.c
9432 Added tests for RAW header-less PCM files.
9435 Moved definition of struct tribyte to pcm.c which is the only place
9439 Modified all code which assumed sizeof (struct tribyte) == 3. This code
9440 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
9443 Removed <sys/stat.h> from list of #includes (not being used).
9446 Added MacOS specific #ifdef to replace <sys/stat.h>.
9449 Added MacOS specific #ifdef to replace <sys/stat.h>.
9452 Added MacOS specific typedef for off_t.
9455 New file with instructions for building libsndfile under MacOS. Thanks
9456 to Ben "Jacobs" for supplying these instructions.
9458 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9461 Removed sndfile.h from generated file list as there were no longer
9462 any autoconf substitutions being made.
9465 New file for handling raw header-less PCM files. In order to open these
9466 for read, the user must specify format, pcmbitwidth and channels in the
9467 SF_INFO struct when calling sf_open_read ().
9470 Added support for raw header-less PCM files.
9472 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9475 Removed options so the sfinfo program always prints out all the information.
9477 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9480 New file for A-law encoding (similar to u-law).
9483 New test program to test the A-law encode/decode lookup tables.
9485 * tests/lossy_comp_test.c
9486 Added tests for a-law encoded WAV, AU and AULE files.
9488 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9490 * src/sndfile.c src/au.c
9491 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
9494 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9497 New test program to test the u-law encode/decode lookup tables.
9499 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9502 Made corrections to comments on the return values from sf_seek ().
9505 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
9507 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9509 * src/au.c src/ulaw.c
9510 Finished implementation of u-law encoded AU files.
9513 Implemented reading and writing of u-law encoded WAV files.
9516 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
9517 will now be used to test Ulaw and Alaw encoding as well as APDCM.
9518 Added tests for Ulaw encoded WAV files.
9520 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9522 * tests/adpcm_test.c
9523 Initialised amp variable in gen_signal() to remove compiler warning.
9525 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9528 In __aiff_open_read () prevented fseek()ing beyond end of file which
9529 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
9530 Ben "Jacobs" for pointing this out.
9533 Fixed as above in __wav_open_read ().
9535 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9537 * src/wav_ms_adpcm.c
9538 Implemented MS ADPCM encoding. Code cleanup of decoder.
9540 * tests/adpcm_test.c
9541 Added tests for MS ADPCM WAV files.
9543 * src/wav_ima_adpcm.c
9544 Fixed incorrect parameter in call to srate2blocksize () from
9545 __ima_writer_init ().
9547 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9549 * tests/read_seek_test.c
9550 Added test for 8 bit AIFF files.
9552 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9554 * tests/write_read_test.c
9555 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
9558 Added -Wconversion to CFLAGS.
9560 * src/*.c tests/*.c examples/*.c
9561 Fixed all warnings resulting from use of -Wconversion.
9563 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9566 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
9570 Changed block alignment to be dependant on sample rate. This should make
9571 WAV files created with libsndfile compatible with the MS Windows media
9574 * tests/adpcm_test.c
9575 Reimplemented adpcm_test_short and implemented adpcm_test_int and
9577 Now have full testing of IMA ADPCM WAV file read, write and seek.
9579 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9582 Fixed function prototype for x86f2d_array () which was causing ocassional
9583 seg. faults on Sparc Solaris machines.
9585 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9588 Fixed bug in __aiff_close where the length fields in the header were
9589 not being correctly calculated before writing.
9591 * tests/write_read_test.c
9592 Modified to detect the above bug in WAV, AIFF and AU files.
9594 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9597 Added a contribution from Albert Faber to allow libsndfile to compile
9598 under Win32 systems. libsndfile will now be used as part of LAME the
9599 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
9601 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9604 Changed to reflect previous changes.
9606 * src/wav_ima_adpcm.c
9607 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
9609 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
9610 to write test code for this.
9612 Fixed bug in __ima_write () whereby the length of the current block was
9613 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
9615 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9618 Changed all read/write/lseek function calls to fread/fwrite/
9619 fseek/ftell and added error checking of return values from
9620 fread and fwrite in critical areas of the code.
9623 Fixed incorrect datasize element in AU header on write.
9625 * tests/error_test.c
9626 Add new test to check all error values have an associated error
9627 string. This will avoid embarrassing real world core dumps.
9629 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9631 * src/wav.c src/aiff.c
9632 Added handling for unknown chunk markers in the file.
9634 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9637 Filled in missing error strings in SndfileErrors array. Missing entries
9638 can cause core dumps when calling sf_error-str (). Thanks to Sam
9639 <mrsam at-sign geocities.com> for finding this problem.
9641 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9643 * src/wav_ima_adpcm.c
9644 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
9645 stereo files. Caused by not adjusting offset into buffer of decoded
9646 samples for 2 channels. A similar bug existed in __ima_write ().
9647 Need a test for stereo ADPCM files.
9649 * src/wav_ms_adpcm.c
9650 Decoder working correctly.
9652 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9654 * configure.in Makefile.am
9655 Added --enable-justsrc configuration variable sent by Sam
9656 <mrsam at-sign geocities.com>.
9658 * src/wav_ima_adpcm.c
9659 Fixed bug when reading beyond end of data section due to not
9660 checking pima->blockcount.
9661 This uncovered __ima_seek () bug due to pima->blockcount being set
9662 before calling __ima_init_block ().
9664 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9667 Started implementing MS ADPCM decoder.
9668 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
9669 encoder seems to add an extra byte. Why not just give an even data
9672 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9675 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
9676 This will make it easier to add and debug other kinds of WAV files
9679 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9682 Added adpcm_test.c which implements test functions for
9683 IMA ADPCM reading/writing/seeking etc.
9686 Fixed many bugs in IMA ADPCM encoder and decoder.
9688 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9691 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
9693 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9696 Started implementing IMA ADPCM decoder.
9698 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9701 Fixed bug where the sf_read_XXX functions were returning a
9702 incorrect read count when reading past end of file.
9703 Fixed bug in sf_seek () when seeking backwards from end of file.
9705 * tests/read_seek_test.c
9706 Added multiple read test to short_test(), int_test () and
9708 Added extra chunk to all test WAV files to test that reading
9709 stops at end of 'data' chunk.
9711 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9713 * tests/write_read_test.c
9714 Added tests for little DEC endian AU files.
9717 Add handling for DEC format little endian AU files.
9719 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9721 * src/aiff.c src/au.c src/wav.c
9722 Add __psf_sprintf calls during header parsing.
9724 * src/sndfile.c src/common.c
9725 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
9727 * tests/write_read_test.c
9728 Added tests for 8 bit PCM files (WAV, AIFF and AU).
9730 * src/au.c src/aiff.c
9731 Add handling of 8 bit PCM data format.
9734 On write, set blocksize in SSND chunk to zero like everybody else.
9736 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9739 Fixed bug in let2s_array (cptr was not being initialised).
9742 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
9743 now work when using these functions.
9745 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9747 * tests/write_read_test.c:
9748 Force test_buffer array to be double aligned. Sparc Solaris
9751 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9754 Fixed a bug which was causing errors in the reading
9755 and writing of 24 bit PCM files.
9758 Finished of preliminary documentaion.
9760 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9763 Changed reading of 'COMM' chunk to avoid reading an int
9764 which overlaps an int (4 byte) boundary.