comparison src/libsndfile-1.0.27/doc/ChangeLog @ 125:cd6cdf86811e

Current libsndfile source
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 18 Oct 2016 13:22:47 +0100
parents
children
comparison
equal deleted inserted replaced
124:e3d5853d5918 125:cd6cdf86811e
1 2013-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2
3 * Makefile.am
4 Make sure checkprograms are built as part of 'make test-tarball'.
5 Closes: https://github.com/erikd/libsndfile/issues/37
6
7 2013-03-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8
9 * tests/dft_cmp.c
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.
13
14 2013-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
15
16 * M4/gcc_version.m4
17 Fix to work with OpenBSD's sed.
18
19 2013-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
20
21 * src/ALAC/alac_encoder.c
22 Patch from Michael Pruett (author of libaudiofile) to add correct byte
23 swapping for the mChannelLayoutTag field.
24
25 2013-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
26
27 * doc/bugs.html
28 Bugs should bt reported on the github issue tracker.
29
30 2013-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
31
32 * configure.ac
33 Improve sanitization of FLAC_CFLAGS value.
34
35 2013-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
36
37 * src/Makefile.am
38 Call python interpreter instead of using '#!' in script. Thanks to Jan
39 Stary for reporting this.
40
41 * doc/index.html doc/FAQ.html
42 Make internal links relative. Patch from Jan Stary.
43
44 2013-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
45
46 * src/test_endswap.def src/test_endswap.tpl
47 Add tests for psf_put_be32() and psf_put_be64().
48
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.
52
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
56
57 2013-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
58
59 * src/sfendian.h
60 Add big endian versions of H2BE_16 and H2BE_32.
61
62 2013-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
63
64 * src/ALAC/
65 Replace Apple endswap routines with ones from libsndfile.
66
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
70 tweaks.
71
72 2013-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
73
74 * src/common.h
75 Bump SF_HEADER_LEN from 8192 to 12292, the value it was in the 1.0.25
76 release.
77
78 2013-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
79
80 * src/alac.c
81 Fix segfault when encoding 8 channel files.
82 Closes: https://github.com/erikd/libsndfile/issues/30
83
84 2013-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
85
86 * src/ALAC/EndianPortable.c
87 Fall back to compiler's __BYTE_ORDER__ for endian-ness detection.
88
89 2013-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
90
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.
94
95 * src/alac.c
96 Fix valgrind invalid realloc. Reported by nu774.
97 Closes: https://github.com/erikd/libsndfile/issues/31
98
99 2013-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
100
101 * src/alac.c
102 The 'pakt' chunk header should now be written correctly.
103 Closes: https://github.com/erikd/libsndfile/issues/24
104
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
108
109 2013-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
110
111 * src/common.h src/caf.c
112 Read the ALAC 'pakt' header and stash the values.
113
114 * src/sfendian.h
115 Add functions psf_put_be64() and psf_put_be32().
116
117 * src/alac.c
118 Start work on filling on the 'pakt' chunk header.
119
120 2013-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
121
122 * doc/FAQ.html
123 Add missing opening <P> tag.
124
125 * src/alac.c
126 Increase ALAC_BYTE_BUFFER_SIZE to 82000.
127
128 2013-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
129
130 * doc/FAQ.html
131 Improve question #8.
132
133 2013-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
134
135 * src/ogg_opus.c
136 Add skeleton implementation so someone else can run with it.
137
138 2012-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
139
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.
143
144 2012-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
145
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.
150
151 2012-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
152
153 * Octave/Makefile.am Octave/octave_test.sh
154 Fix 'make distcheck'.
155
156 2012-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
157
158 * M4/octave.m4
159 Relax constraints on Octave version.
160
161 2012-10-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
162
163 * tests/utils.tpl
164 Improve compare_*_or_die() functions.
165
166 * src/command.c
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.
173
174 * tests/channel_test.c tests/Makefile.am tests/test_wrapper.sh.in
175 Add test for the above.
176
177 2012-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
178
179 * src/sndfile.hh
180 Added a constructor to allow the use of SF_VIRTUAL_IO. Patch from
181 DannyDaemonic : https://github.com/erikd/libsndfile/pull/20
182
183 2012-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
184
185 * doc/octave.html
186 Fix link to octave.sourceforge.net. Thanks to IOhannes m zmoelnig.
187
188 * src/mat5.c
189 Allow reading of mat5 files without a specified sample rate (default to
190 44.1kHz). Thanks to IOhannes m zmoelnig.
191
192 2012-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
193
194 * src/paf.c
195 Error out if channel count is zero. Bug report from William ELla via
196 launchpad:
197 https://bugs.launchpad.net/ubuntu/+source/libsndfile/+bug/1036831
198
199 2012-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
200
201 * configure.ac programs/sndfile-play.c
202 Patch from Ricci Adams to use OSX's AudioQueues on OSX 10.7 and greater.
203
204 2012-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
205
206 * programs/common.c
207 Accept "ogg" as a file extention for Ogg/Vorbis files.
208
209 2012-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
210
211 * src/flac.c
212 Make sure any previously allocated FLAC stream encoder and stream decoder
213 objects are deleted before a new one is allocated.
214
215 2012-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
216
217 * tests/utils.tpl
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
220 tested.
221
222 * src/sndfile.h.in doc/command.html
223 Add SFC_SET_COMPRESSION_LEVEL and document it.
224
225 * src/sndfile.c
226 Catch SFC_SET_VBR_ENCODING_QUALITY command and implement it as the inverse
227 of SFC_SET_COMPRESSION_LEVEL.
228
229 * src/ogg_vorbis.c src/flac.c
230 Implement SFC_SET_COMPRESSION_LEVEL command.
231
232 * tests/test_wrapper.sh.in tests/compression_size_test.c
233 Use the compression_size_test on FLAC as well.
234
235 2012-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
236
237 * tests/
238 Rename vorbis_test.c -> compression_size_test.c so it can be extended to
239 test FLAC as well.
240
241 2012-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
242
243 * src/broadcast.c
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.
247
248 * src/test_broadcast_var.c
249 Add a test for the above.
250
251 2012-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
252
253 * src/sndfile.c
254 sf_format_check: For SF_FORMAT_AIFF, reject endian-ness setttings for
255 non-PCM formats.
256
257 2012-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
258
259 * src/aiff.c
260 Fix regression in handling of odd length SSND chunks.
261 Thanks Olivier Tristan for the example file.
262
263 * src/aiff.c src/wav.c
264 Exit parser loop when marker == 0.
265
266 2012-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
267
268 * doc/FAQ.html
269 Fix text. Thanks to Richard Collins.
270
271 2012-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
272
273 * src/caf.c
274 Exit parse loop if the marker is zero. Pass jump offsets as size_t instead
275 of int.
276
277 2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
278
279 * src/alac.c
280 Fix segfault when decoding CAF/ALAC file with more than 4 channels.
281 Fixes github issue #8 reported by Charles Van Winkle.
282
283 2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
284
285 * src/common.h
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.
289
290 * configure.ac
291 Fix if test for empty $prefix.
292
293 2012-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
294
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.
301
302 * tests/string_test.c
303 Fix un-initialised char buffer.
304
305 2012-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
306
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.
310
311 * src/alac.c
312 Fix calculated frame count for files with zero block length.
313
314 2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
315
316 * src/avr.c
317 Remove double assignment to psf->endian. Thanks Kao Dome.
318
319 * src/gsm610.c
320 Fix clearing of buffers. Thanks Kao Dome.
321
322 * src/paf.c
323 Remove duplicate code. Thanks Kao Dome.
324
325 * src/test_strncpy_crlf.c
326 Fix minor error in test. Thanks Kao Dome.
327
328 * src/common.h src/*.c
329 Fix a bunch of valgrind errors.
330
331 2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
332
333 * src/sndfile.c
334 Fix typo in error string 'Uknown' -> 'Unknown'.
335
336 * tests/fix_this.c
337 Fix potential int overflow.
338
339 2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
340
341 * src/alac.c
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.
344
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__'.
348
349 2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
350
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.
358
359 * tests/floating_point_test.tpl tests/write_read_test.(def|tpl)
360 Add tests for 20 and 24 bit ALAC/CAF files.
361
362 * src/command.c
363 Add ALAC/CAF to the SFC_GET_FORMAT_* commands. Fixes github issue #5.
364
365 * configure.ac
366 Only use automake AM_SLIENT_RULES where supported. Thanks Dave Yeo.
367
368 * tests/pipe_test.tpl
369 Disable tests on OS/2. Thanks Dave Yeo.
370
371 2012-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
372
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.
376
377 2012-03-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
378
379 * src/alac.c
380 Make sure temp file gets opened in binary mode.
381
382 * src/alac.c src/common.c src/common.h
383 Fix function alac_write16_d().
384
385 * tests/floating_point_test.tpl
386 Add tests for 16 bit ALAC/CAF.
387
388 * src/alac.c src/common.c src/common.h
389 Add support for 32 bit ALAC/CAF files.
390
391 * tests/floating_point_test.tpl tests/write_read_test.tpl
392 Add tests for 32 bit ALAC/CAF files.
393
394 2012-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
395
396 * src/
397 Refactor chunk storage so it work on big as well as little endian CPUs.
398
399 * tests/chunk_test.c
400 Clean up error messages.
401
402 * src/sfendian.h src/*.c
403 Rename endian swapping macros and add ENDSWAP_64 and BE2H_64.
404
405 * configure.ac
406 Detect presence of <x86intrin.h> header file.
407
408 * src/sfendian.h
409 Use <x86intrin.h> intrinsics (ie for MinGW) when <byteswap.h> is not
410 present.
411 Make ENDSWAP_64() work with i686-w64-mingw32 compiler.
412
413 * src/ALAC/EndianPortable.c
414 Add support for __powerpc__.
415
416 * src/sfconfig.h
417 Make sure HAVE_X86INTRIN_H is either 1 or 0.
418
419 2012-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
420
421 * src/ALAC/*
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.
427
428 * src/alac.c src/caf.c src/common.[ch] src/Makefile.am src/sndfile.h.in
429 src/sndfile.c
430 Hook new ALAC codec in.
431
432 * programs/sndfile-convert.c
433 Add support for alac codec.
434
435 * tests/write_read_test.tpl
436 Expand tests to cover ALAC.
437
438 2012-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
439
440 * src/aiff.c src/wav.c
441 Fix a couple of regressions from version 1.0.25.
442
443 2012-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
444
445 * src/strings.c
446 Minor refactoring. Make sure that the memory allocation size if always > 0
447 to avoid undefined behaviour.
448
449 2012-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
450
451 * src/chunk.c
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.
455
456 * src/wav.c
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.
459
460 2012-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
461
462 * tests/util.tpl
463 Used gnu_printf format checking with mingw-w64 compiler.
464
465 * tests/header_test.tpl
466 Printf format fixes.
467
468 2012-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
469
470 * M4/extra_pkg.m4
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.
477
478 * src/sndfile.h.in src/sndfile.c src/common.h src/create_symbols_file.py
479 Add API function sf_current_byterate().
480
481 * src/dwvw.c src/flac.c src/ogg_vorbis.c src/sds.c
482 Add codec specific handlers for current byterate.
483
484 * tests/floating_point_test.tpl
485 Add initial test for sf_current_byterate().
486
487 2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
488
489 * src/common.[ch]
490 Add function psf_decode_frame_count().
491
492 * src/dwvw.c
493 Fix a termnation bug that caused the decoder to go into an infinite loop.
494
495 2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
496
497 * src/wav.c
498 Fix a regression in the WAV header parser. Thanks to Olivier Tristan for
499 bug report and the example file.
500
501 2012-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
502
503 * src/sndfile.c
504 Return error when SF_BROADCAST_INFO struct has bad coding_history_size.
505 Thanks to Alex Weiss for the report.
506
507 2012-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
508
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.
511
512 2012-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
513
514 * tests/string_test.c
515 Fix valgrind warnings.
516
517 * src/common.h src/sndfile.c src/strings.c
518 Make string storage dynamically allocated.
519
520 * src/sndfile.c
521 Add extra validation for custom chunk handling.
522
523 2012-02-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
524
525 * src/wav.c
526 Improve handlling unknown chunk types. Thanks to Olivier Tristan for sending
527 example files.
528
529 * src/utils.tpl
530 Add GCC specific testing for format string parameters for exit_if_true().
531
532 * tests/*.c tests/*.tpl
533 Fix all printf format warnings.
534
535 * programs/sndfile-play.c
536 Remove un-needed OSX include <Carbon.h>. Thanks jamesfmilne for github
537 issue #3.
538
539 * tests/chunk_test.c
540 Extend custom chunk test.
541
542 2012-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
543
544 * src/wav.c
545 Jump over some more chunk types while parsing.
546
547 2012-02-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
548
549 * src/common.h src/strings.c
550 Change way strings are stored in SF_PRIVATE in preparation for dynamically
551 allocating the storage.
552
553 2012-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
554
555 * src/common.h src*.c
556 Improve encapsulation of string data in SF_PRIVATE.
557
558 2012-02-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
559
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.
563
564 2012-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
565
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.
569
570 2012-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
571
572 * configure.ac
573 Fix typo, FLAC_CLFAGS -> FLAC_CFLAGS. Thanks to Jeremy Friesner.
574
575 2012-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
576
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.
581
582 2012-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
583
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.
587
588 * tests/string_test.c
589 Add tests for the above changes (patch from Bodo).
590
591 2012-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
592
593 * src/aiff.c
594 Refactor reading of chunk size and use of psf_store_read_chunk().
595
596 * src/(caf|wav).c
597 Correct storing of chunk offset.
598
599 2012-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
600
601 * src/aiff.c src/wav.c src/common.h
602 Refactor common code into src/common.h.
603
604 * src/caf.c
605 Make custom chunks work for CAF files.
606
607 * tests/chunk_test.c tests/test_wrapper.sh.in
608 Test CAF files with custom chunks.
609
610 * src/sndfile.c
611 Prevent psf->codec_close() being called more than once.
612
613 2012-01-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
614
615 * programs/sndfile-cmp.c
616 Catch the case where the second file has more frames than the first.
617
618 2012-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
619
620 * src/create_symbols_file.py
621 Add sf_set_chunk/sf_get_chunk_size/sf_get_chunk_data.
622
623 2011-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
624
625 * tests/chunk_test.c tests/Makefile.am
626 New test for custom chunks.
627
628 * src/aiff.c src/chunk.c src/common.h src/sndfile.c
629 Make custom chunks work on AIFF files.
630
631 * src/wav.c
632 Make custom chunks work on WAV files (includes refactoring).
633
634 2011-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
635
636 * src/sndfile.h.in src/common.h src/sndfile.c
637 Start working on setting/getting chunks.
638
639 2011-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
640
641 * src/binheader_writef_check.py src/create_symbols_file.py
642 Make it work for Python 2 and 3. Thanks Michael.
643
644 2011-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
645
646 * libsndfile.spec.in
647 Change field name 'URL' to 'Url'.
648
649 * src/sndfile.h.in
650 Add SF_SEEK_SET/CUR/END.
651
652 2011-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
653
654 * src/id3.c
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
658 file.
659
660 2011-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
661
662 * src/double64.c src/float32.c src/common.h
663 Make (float32|double_64)_(be|le)_read() functions const correct.
664
665 2011-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
666
667 * src/sfendian.h
668 Minor tweaking of types. Cast to ptr to correct final type rather void*.
669
670 * programs/sndfile-play.c tests/utils.tpl
671 Fix compiler warnings with latest MinGW cross compiler.
672
673 2011-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
674
675 * src/file_io.c
676 Use the non-deprecated resource fork name on OSX. Thanks to Olivier Tristan.
677
678 2011-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
679
680 * src/wav.c
681 Jump over the 'olym' chunks when parsing.
682
683 2011-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
684
685 * tests/write_read_test.tpl
686 Remove windows only truncate() implementation.
687
688 2011-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
689
690 * src/sd2.c src/sndfile.c
691 Make sure 23 bit PCM SD2 files are readable/writeable.
692
693 * tests/write_read_test.tpl
694 Add tests for 32 bit PCM SD2 files.
695
696 2011-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
697
698 * configure.ac
699 Use AC_SYS_LARGEFILE instead of AC_SYS_EXTRA_LARGEFILE as suggested by
700 Jan Willies.
701
702 2011-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
703
704 * configure.ac Makefile.am
705 Move ACLOCAL_AMFLAGS setup to Makefile.am.
706
707 2011-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
708
709 * doc/command.html
710 Merge two separate blocks of SFC_SET_VBR_ENCODING_QUALITY documentation.
711
712 * src/paf.c
713 Replace ppaf24->samplesperblock with a compile time constant.
714
715 2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
716
717 * src/ogg_vorbis.c
718 Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
719
720 * doc/command.html
721 Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
722 SFC_GET_INSTRUMENT.
723
724 * NEWS README configure.ac doc/*.html
725 Updates for 1.0.25.
726
727 2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
728
729 * src/sfconfig.h
730 Add handling for HAVE_SYS_WAIT_H.
731
732 * Makefile.am src/Makefile.am tests/Makefile.am
733 Add 'checkprograms' target.
734
735 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
736
737 * src/common.h src/sndfile.c
738 Purge SF_ASSERT macro. Use standard C assert instead.
739
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.
743
744 * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
745 Use calloc instead of malloc followed by memset.
746
747 * tests/utils.tpl
748 Clean up use of memset.
749
750 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
751
752 * src/ogg.c
753 Fix log message.
754
755 * tests/format_check_test.c
756 Fix compiler warnings.
757
758 2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
759
760 * src/sndfile.c
761 Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
762
763 * tests/format_check_test.c
764 Add a test to for SF_FINFO format field validation.
765
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.
771
772 2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
773
774 * src/strings.c
775 Clean up and refactor storage of SF_STR_SOFTWARE.
776
777 2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
778
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.
782
783 2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
784
785 * programs/sndfile-interleave.c
786 Fix handling of argc. Thanks to Marius Hennecke.
787
788 * src/wav_w64.c
789 Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
790 providing example files.
791
792 * src/wav.c
793 Jump over 'FLLR' chunks.
794
795 2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
796
797 * src/sndfile.h.in
798 Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
799
800 * configure.ac
801 Add -Wundef to CFLAGS.
802
803 * src/ogg.c
804 Fix -Wunder warning.
805
806 2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
807
808 * configure.ac
809 Use int64_t instead of off_t when they are the same size.
810
811 * src/Makefile.am tests/Makefile.am
812 Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
813
814 2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
815
816 * src/wav.c
817 Don't allow unknown and/or un-editable chunks to prevent the file from being
818 opened in SFM_RDWR mode.
819
820 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
821
822 * tests/format_check_test.c
823 Fix segfault in test program.
824
825 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
826
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.
830
831 * tests/Makefile.am tests/test_wrapper.sh.in
832 Hook into build and test runner.
833
834 * src/sndfile.c
835 Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
836 notification.
837
838 2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
839
840 * src/caf.c
841 Add validation to size of 'data' chunk and fix size of written 'data'
842 chunk. Thanks to Michael Pruett for reporting this.
843
844 2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
845
846 * src/* tests/* programs/*
847 Fix a bunch of compiler warnings with gcc-4.6.
848
849 2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
850
851 * tests/util.tpl
852 Add NOT macro to util.h.
853
854 * src/strings.c
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
857 this problem.
858
859 * tests/string_test.c
860 Add test for SF_STR_SOFTWARE segfault bug.
861
862 * configure.ac
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
867 as <FLAC/header.h>.
868
869 * configure.ac src/Makefile.am
870 Use non-recursive make in src/ directory.
871
872 2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
873
874 * NEWS README docs/*.html
875 Updates for 1.0.24 release.
876
877 2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
878
879 * configure.ac
880 Fix up usage of sed (should not assume GNU sed).
881
882 * M4/add_(c|cxx)flags.m4
883 Test flags in isolation.
884
885 * tests/cpp_test.cc
886 Fix a broken test (test segfaults). Report by Dave Flogeras.
887
888 2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
889
890 * programs/common.[ch]
891 Add function program_name() which returns the program name minus the path
892 from argv [0].
893
894 * programs/*.c programs/Makefile.am
895 Use program_name() where appropriate. Fix build.
896
897 2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
898
899 * src/wav.c
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.
903
904 2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
905
906 * doc/FAQ.html
907 Add examples for question 12.
908
909 * doc/libsndfile.css.in
910 Add tweaks for h4 element.
911
912 * doc/api.html
913 Add documentation for virtual I/O functionality. Thanks to Uli Franke.
914
915 * tests/util.tpl
916 Add static inline functions sf_info_clear() and sf_info_setup().
917
918 * tests/(alaw|dwvw|ulaw)_test.c
919 Use functions sf_info_clear() and sf_info_setup().
920
921 2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
922
923 * configure.ac
924 Fail more gracefully if pkg-config is missing. Suggestion from Brian
925 Willoughby.
926
927 2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
928
929 * src/common.c
930 Use size_t instead of int for size params with varargs.
931
932 2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
933
934 * doc/index.html
935 Update supported platforms with more Debian platforms and Android.
936
937 2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
938
939 * src/sndfile.hh
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.
942
943 * tests/cpp_test.cc
944 Add test for LPCWSTR version of the SndfileHandle constructor.
945
946 2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
947
948 * programs/sndfile-play.c
949 Remove cruft.
950
951 2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
952
953 * src/sndfile.hh
954 Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
955 the patch.
956
957 * tests/cpp_test.cc
958 Add tests for above two methods. Also supplied by Tim Blechmann.
959
960 2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
961
962 * doc/api.html
963 Add mention of use of sf_strerror() when sf_open() fails.
964
965 2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
966
967 * configure.ac
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.
970
971 * src/sndfile.h.in
972 Fix comments on sf_count_t.
973
974 2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
975
976 * src/aiff.c
977 Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
978
979 2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
980
981 * configure.ac
982 Sed fix for FreeBSD. Thanks Tony Theodore.
983
984 2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
985
986 * shave.in M4/shave.m4
987 Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
988 shave author).
989
990 * configure.ac M4/shave.m4 shave-libtool.in shave.in
991 Switch from shave to automake-1.11's AM_SILENT_RULES.
992
993 2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
994
995 * shave-libtool.in shave.in
996 Sync to upstream version.
997
998 * src/rf64.c
999 More work to make the parser more robust and accepting of mal-formed files.
1000
1001 2010-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1002
1003 * src/common.h
1004 Add functions psf_strlcpy() and psf_strlcat().
1005
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.
1009
1010 * tests/string_test.c
1011 Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
1012
1013 * src/rf64.c
1014 Fix size of 'ds64' chunk when writing RF64.
1015
1016 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1017
1018 * programs/*.c
1019 Add the libsndfile version to the usage message of all programs.
1020
1021 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1022
1023 * configure.ac src/version-metadata.rc.in src/Makefile.am
1024 Add version string resources to the windows DLL.
1025
1026 * doc/api.html
1027 Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
1028
1029 * NEWS README configure.ac doc/*.html
1030 Updates for 1.0.23 release.
1031
1032 2010-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1033
1034 * tests/pedantic-header-test.sh.in
1035 Handle unusual values of CC environment variable.
1036
1037 * src/rf64.c
1038 Minor tweaks and additional sanity checking.
1039
1040 * src/Makefile.am src/binheader_writef_check.py
1041 Use python 2.6.
1042
1043 2010-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1044
1045 * src/sndfile.hh
1046 Add a missing 'inline' before a constructor defintion.
1047
1048 2010-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1049
1050 * src/common.h
1051 Add macro NOT.
1052
1053 * src/rf64.c
1054 Minor tweaks.
1055
1056 * Makefile.am */Makefile.am
1057 Add *~ to CLEANFILES.
1058
1059 2010-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1060
1061 * src/sndfile.c
1062 Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
1063 Van Winkle for the report.
1064
1065 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1066
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.
1070
1071 * src/common.h src/broadcast.c src/strings.c
1072 Add function psf_safe_strncpy() and use where appropriate.
1073
1074 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1075
1076 * NEWS README configure.ac doc/*.html
1077 Updates for 1.0.22 release.
1078
1079 2010-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1080
1081 * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
1082 Rewrite of SF_BROADCAST_INFO handling.
1083
1084 * src/test_broadcast_var.c tests/command_test.c
1085 Tweak SF_BROADCAST_INFO tests.
1086
1087 * src/test_broadcast_var.c
1088 Fix OSX stack check error.
1089
1090 2010-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1091
1092 * src/sds.c
1093 Set sustain_loop_end to 0 as suggested by Brian Lewis.
1094
1095 2010-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1096
1097 * src/sds.c
1098 Make sure the correct frame count gets written into the header.
1099
1100 * tests/write_read_test.tpl
1101 Don't allow SDS files to have a long frame count.
1102
1103 2010-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1104
1105 * src/sds.c
1106 Apply a pair of patches from Brian Lewis to fix the packet number location
1107 and the checksum.
1108
1109 2010-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1110
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.
1115
1116 2010-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1117
1118 * src/test_broadcast_var.c
1119 New file containing tests for broadcast_set_var().
1120
1121 * src/Makefile.am src/test_main.[ch]
1122 Hook test_broadcast_var.c into tests.
1123
1124 2010-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1125
1126 * src/broadcast.c src/common.(c|h)
1127 Move function strncpy_crlf() to src/common.c so the function can be tested
1128 in isolation.
1129
1130 * src/test_strncpy_crlf.c
1131 New file.
1132
1133 * src/Makefile.am src/test_main.[ch]
1134 Hook test_strncpy_crlf.c into tests.
1135
1136 2010-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1137
1138 * src/common.h
1139 Move code around to make comments make sense.
1140
1141 * src/broadcast.c
1142 Add debugging code that is disabled by default.
1143
1144 2010-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1145
1146 * src/flac.c
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.
1149
1150 * programs/sndfile-info.c
1151 Print 'unknown' if frame count == SF_COUNT_MAX.
1152
1153 2010-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1154
1155 * src/sndfile.c
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.
1159
1160 * src/file_io.c
1161 Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
1162 for the bug report.
1163
1164 2010-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1165
1166 * src/common.h
1167 Add macro SF_ASSERT.
1168
1169 * src/sndfile.c
1170 Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
1171
1172 * src/svx.c
1173 Add support for reading and writing stereo SVX files.
1174
1175 2010-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1176
1177 * configure.ac
1178 When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
1179
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.
1183
1184 2010-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1185
1186 * src/nist.c
1187 Fix a regression reported by Hugh Secker-Walker.
1188
1189 * src/api.html
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
1192 C runtime DLL.
1193
1194 2010-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1195
1196 * tests/pedantic-header-test.sh.in
1197 Fix 'make distcheck'.
1198
1199 2010-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1200
1201 * tests/pedantic-header-test.sh.in
1202 New file to test whether sndfile.h can be compiled with gcc's -pedantic
1203 flag.
1204
1205 * configure.ac tests/test_wrapper.sh.in
1206 Hook pedantic-header-test into test suite.
1207
1208 * src/sndfile.h.in
1209 Fix -pedantic warning.
1210
1211 2010-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1212
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.
1216
1217 2010-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1218
1219 * programs/sndfile-convert.c
1220 Fix valgrind warning.
1221
1222 2010-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1223
1224 * programs/sndfile-cmp.c
1225 When files differ in the PCM data, also print the difference offset.
1226 Minor cleanup.
1227
1228 2010-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1229
1230 * src/aiff.c
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.
1233
1234 2010-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1235
1236 * configure.ac
1237 Clean up configure report.
1238
1239 * tests/utils.tpl
1240 Add functions test_read_raw_or_die and test_write_raw_or_die.
1241
1242 * tests/rdwr_test.(def|tpl) tests/Makefile.am
1243 Add new test program and hook into build.
1244
1245 * src/sndfile.c
1246 Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
1247
1248 * tests/test_wrapper.sh.in
1249 Add rdwr_test to the test wrapper script.
1250
1251 2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1252
1253 * configure.ac
1254 Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
1255
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.
1259
1260 2010-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1261
1262 * src/ima_adpcm.c
1263 Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
1264 IMA4.
1265
1266 2010-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1267
1268 * src/sndfile.hh
1269 Add a constructor which takes an existing file descriptor and then calls
1270 sf_open_fd(). Patch from Sakari Bergen.
1271
1272 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1273
1274 * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
1275 Improve usage messages.
1276
1277 2010-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1278
1279 * src/id3.c src/Makefile.am
1280 Add new file src/id3.c and hook into build.
1281
1282 * src/sndfile.c src/common.h
1283 Detect and skip and ID3 header at the start of the file.
1284
1285 2010-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1286
1287 * programs/common.c
1288 Fix update_strings() copyright, comment, album and license are correctly
1289 written. Thanks to Todd Allen for reporting this.
1290
1291 * man/Makefile.am
1292 Change GNU makeism to something more widely supported. Thanks to Christian
1293 Weisgerber for reporting this.
1294
1295 * configure.ac programs/Makefile.am programs/sndfile-play.c
1296 Apply patch from Christian Weisgerber and Jacob Meuserto add support for
1297 OpenBSD's sndio.
1298
1299 2010-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1300
1301 * doc/api.html
1302 Discourage the use of sf_read/write_raw().
1303
1304 2009-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1305
1306 * configure.ac
1307 Test for Unix pipe() and waitpid() functions.
1308
1309 * src/sfconfig.h tests/pipe_test.tpl
1310 Disable pipe_test if pipe() and waitpid() aren't available.
1311
1312 2009-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1313
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
1318 Debian's kfreebsd.
1319
1320 * M4/shave.m4 shave.in
1321 Update shave files from upstream.
1322
1323 2009-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1324
1325 * man/sndfile-metadata-get.1
1326 Fix typo.
1327
1328 * man/sndfile-interleave.1 man/Makefile.am
1329 New man page.
1330
1331 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1332
1333 * src/ogg.c
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.
1336
1337 * NEWS README doc/*.html
1338 Updates for 1.0.21.
1339
1340 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1341
1342 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
1343 Remove these which will now be in found in the sndfile-tools package.
1344
1345 * programs/Makefile.am man/Makefile.am
1346 Remove build rules for sndfile-jackplay.
1347
1348 * configure.ac
1349 Remove detection of JACK Audio Connect Kit.
1350
1351 * programs/sndfile-concat.c man/sndfile-concat.1
1352 Add new program with man page.
1353
1354 * man/Makefile.am programs/Makefile.am
1355 Hook sndfile-concat into build system.
1356
1357 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1358
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
1362 Windows.
1363
1364 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1365
1366 * configure.ac M4/*.m4
1367 Rename all custom macros from AC_* to MN_*.
1368
1369 * programs/sndfile-interleave.c
1370 Make it actually work.
1371
1372 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1373
1374 * doc/*.html configure.ac
1375 Corrections and clarifications courtesy of Robin Forder.
1376
1377 * programs/sndfile-convert.c programs/common.[ch]
1378 Move some code from convert to common for reuse.
1379
1380 * programs/sndfile-interleave.c programs/sndfile-interleave.c
1381 Add new programs sndfile-interleave and sndfile-deinterleave.
1382
1383 * programs/Makefile.am
1384 Hook new programs into build.
1385
1386 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1387
1388 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
1389 Minor OS/2 tweaks as suggested by David Yeo.
1390
1391 * tests/multi_file_test.c
1392 Fix file creation flags on windows. Thanks to Bruce Sharpe.
1393
1394 * src/sf_unistd.h
1395 Set all group and other file create permssions to zero.
1396
1397 * tests/win32_test.c
1398 Add a new test.
1399
1400 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1401
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.
1405
1406 * doc/index.html
1407 Minor corrections.
1408
1409 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1410
1411 * sndfile.pc.in
1412 Add a Libs.private entry to assist with static linking.
1413
1414 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1415
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
1418 library.
1419
1420 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1421
1422 * tests/locale_test.c
1423 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
1424
1425 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1426
1427 * src/windows.c
1428 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
1429
1430 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1431
1432 * programs/sndfile-convert.c
1433 Allow the program to read from stdin by specifying '-' on the command line
1434 as the input file.
1435
1436 * src/sndfile.h.in
1437 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
1438
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.
1442
1443 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1444
1445 * src/wav.c
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.
1448
1449 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1450
1451 * src/flac.c
1452 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
1453 rate.
1454
1455 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1456
1457 * src/nist.c
1458 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
1459
1460 * configure.ac
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
1464
1465 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1466
1467 * man/sndfile-convert.1
1468 Fix warning from Debian's lintian checks.
1469
1470 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
1471 man/Makefile.am
1472 Add three new minimal manpages and hook into build.
1473
1474 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1475
1476 * tests/test_wrapper.sh.in
1477 Don't run cpp_test on x86_64-w64-mingw32.
1478
1479 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1480
1481 * tests/utils.tpl
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
1485 Wine complains.
1486
1487 * src/sndfile.hh
1488 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
1489 string.
1490
1491 * doc/FAQ.html
1492 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
1493 run the test suite?
1494
1495 * src/create_symbols_file.py src/Makefile.am
1496 Add Symbols.static target, a list of symbols, one per line.
1497
1498 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1499
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.
1503
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.
1509
1510 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1511
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.
1515
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.
1519
1520 * src/sndfile.h.in
1521 Add SF_CHANNEL_MAP_ABISONIC_* entries.
1522 Add windows only defintion for sf_wchar_open().
1523
1524 * src/create_symbols_file.py
1525 Add sf_wchar_open() to the list of public symbols (windows only).
1526
1527 * tests/locale_test.c
1528 Add a wchar_test() to test sf_wchar_open().
1529
1530 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1531
1532 * src/common.h src/*.c
1533 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
1534
1535 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1536
1537 * src/aiff.c src/voc.c
1538 When a byte is needed, use unsigned char.
1539
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.
1542
1543 * configure.ac
1544 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
1545
1546 * tests/locale_test.c
1547 Update to work with xx_XX.UTF-8 style locales. Refactoring.
1548
1549 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1550
1551 * configure.ac
1552 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
1553 Remove unneeded AC_SUBST.
1554 Report Host CPU/OS/vendor.
1555
1556 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1557
1558 * src/sndfile.c
1559 Fix error message string.
1560
1561 * src/flac.c
1562 Add 88200 to the list of supported sample rates.
1563
1564 * src/ogg.c
1565 Fix compiler warning when using gcc-4.5.0.
1566
1567 * programs/sndfile-info.c tests/utils.tpl
1568 Remove WIN32 snprintf #define.
1569
1570 * src/ima_adpcm.c
1571 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
1572 this.
1573
1574 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1575
1576 * src/caf.c
1577 Use the correct C99 format specifier for int64_t.
1578
1579 * M4/endian.m4
1580 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
1581 Ossman for the bug report.
1582
1583 * src/caf.c src/sndfile.c
1584 Fix reading and writing of PEAK chunks in CAF files.
1585
1586 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
1587 Run peak_chunk_test on CAF files.
1588
1589 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1590
1591 * src/aiff.c src/wav.c
1592 Use the correct C99 format specifier for int64_t.
1593
1594 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1595
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.
1599
1600 * tests/command_test.c
1601 Update channel_map_test() function so WAV test passes.
1602
1603 * src/rf64.c
1604 Add channel mapping and ambisonic support.
1605
1606 * src/sndfile.h
1607 Add comments showing correspondance between libsndfile channel map
1608 defintiions and those used by Apple and MS.
1609
1610 Add handling of reading/writing channel map info.
1611
1612 * tests/command_test.c tests/test_wrapper.sh.in
1613 Update channel map tests.
1614
1615 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1616
1617 * src/common.h
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.
1620
1621 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
1622 Use psf_isprint() instead of isprint().
1623
1624 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1625
1626 * src/command.c
1627 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
1628
1629 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1630
1631 * programs/sndfile-play.c
1632 Allow use of Open Sound System audio output under FreeBSD.
1633
1634 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1635
1636 * configure.ac
1637 Add patch from Conrad Parker to add --disable-jack.
1638
1639 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1640
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.
1644
1645 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1646
1647 * src/chanmap.[ch]
1648 New files for channel map decoding/encoding.
1649
1650 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1651
1652 * configure.ac src/sndfile.h.in
1653 Fix MSVC definition of sf_count_t.
1654
1655 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1656
1657 * src/wav_w64.[ch]
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.
1660
1661 * src/wav.c
1662 Add ability to write the channel mask.
1663
1664 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1665
1666 * programs/sndfile-info.c
1667 Add -c command line option to dump the channel map information.
1668
1669 * src/wav_w64.c
1670 Don't bail from parser if channel map bitmask is faulty.
1671
1672 * src/common.h src/sndfile.c
1673 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
1674
1675 * src/sndfile.c
1676 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
1677 command handler.
1678
1679 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1680
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.
1685
1686 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1687
1688 * src/FAQ.html
1689 Update the section about pre-compiled binaries for Win64.
1690
1691 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1692
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.
1696
1697 * NEWS README doc/*.html
1698 Updates for 1.0.20.
1699
1700 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1701
1702 * src/voc.c
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
1705 this issue.
1706
1707 * src/aiff.c
1708 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
1709
1710 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1711
1712 * tests/stdin_test.c
1713 Check psf->error after opening file.
1714
1715 * src/file_io.c
1716 Fix obscure seeking bug reported by Hugh Secker-Walker.
1717
1718 * tests/utils.tpl
1719 Add check of sf_error to test_open_file_or_die().
1720
1721 * src/sndfile.c
1722 Clear error if opening resource fork fails.
1723
1724 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1725
1726 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
1727 Cleanup output.
1728
1729 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1730
1731 * src/float32.c
1732 Fix f2s_clip_array.
1733
1734 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1735
1736 * src/float32.c
1737 In host_read_f2s call convert instead of f2s_array.
1738
1739 * src/ima_adpcm.c
1740 Remove dead code.
1741
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
1745 Minor fixes.
1746
1747 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1748
1749 * M4/shave.m4 shave.in
1750 Pulled update from upstream.
1751
1752 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1753
1754 * doc/api.html
1755 Add pointers to example programs in source code tarball.
1756
1757 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1758
1759 * src/common.h
1760 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
1761
1762 * configure.ac
1763 Add documentation for --disable-external-libs and improve error handling
1764 for that option.
1765
1766 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1767 Add public function sf_version_string.
1768
1769 * tests/sfversion.c
1770 Test function sf_version_string.
1771
1772 * M4/shave.m4 shave-libtool.in shave.in
1773 Add new files from 'git clone git://git.lespiau.name/shave'.
1774
1775 * configure.ac
1776 Enable shave.
1777
1778 * src/Makefile.am src/binheader_writef_check.py Octave/*
1779 Shave related tweaks.
1780
1781 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1782
1783 * src/common.h src/caf.c src/sndfile.c
1784 Add SF_MAX_CHANNELS (set to 256) and use it.
1785
1786 * src/sndfile.h.in
1787 Check for either _MSCVER or _MSC_VER being defined.
1788
1789 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1790
1791 * tests/vorbis_test.c
1792 Relax test slighly to allow test to pass on more CPUs etc.
1793
1794 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1795
1796 * configure.ac
1797 Detect vorbis_version_string() correctly.
1798
1799 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1800
1801 * doc/index.html
1802 Add a 'See Also' section with a link to sndfile-tools.
1803
1804 * NEWS README doc/*.html
1805 Updates for 1.0.19 release.
1806
1807 * configure.ac
1808 Fix --enable-external-libs logic.
1809
1810 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1811
1812 * src/aiff.c
1813 Fix resource leak and potential read beyond end of buffer.
1814
1815 * src/nist.c
1816 Fix reading of header value sample_n_bytes.
1817
1818 * src/sd2.c src/wav.c
1819 Fix potential read beyond end of buffer.
1820
1821 * src/sndfile.c src/svx.c
1822 Check return values of file_io functions.
1823
1824 * tests/win32_test.c
1825 Fix resource leak.
1826
1827 * configure.ac
1828 Detect the presence/absence of vorbis_version_string() in libvorbis.
1829
1830 * src/ogg.c
1831 Only call vorbis_version_string() from libvorbis if present.
1832
1833 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1834
1835 * tests/win32_test.c
1836 Don't use sprintf, even on windows.
1837
1838 * src/aiff.c src/rf64.c src/wav.c
1839 Eliminate dead code, more validation of data read from file.
1840
1841 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1842
1843 * src/ima_adpcm.c
1844 Clamp values to a valid range before indexing ima_step_size array.
1845
1846 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
1847 Don't include un-needed headers.
1848
1849 * programs/sndfile-info.c
1850 Remove dead code.
1851
1852 * tests/test_wrapper.sh.in
1853 Add 'set -e' so the script exits on error.
1854
1855 * src/test_ima_oki_adpcm.c
1856 Fix read beyond end of array.
1857
1858 * tests/win32_test.c
1859 Add missing close on file descriptor.
1860
1861 * src/nist.c programs/sndfile-metadata-set.c
1862 Fix 'unused variable' warnings.
1863
1864 * src/aiff.c
1865 Fix potential memory leak in handling of 'MARK' chunk.
1866 Remove un-needed test (unsigned > 0).
1867
1868 * src/sd2.c
1869 Improve handling of heap allocated buffer.
1870
1871 * src/sndfile.c
1872 Remove un-needed test (always true).
1873
1874 * src/wav.c src/rf64.c
1875 Ifdef out dead code that will be resurected some time in the future.
1876
1877 * src/wav.c src/w64.c src/xi.c
1878 Handle error return values from psf_ftell.
1879
1880 * src/wav_w64.c
1881 Fix handling and error checking of MSADPCM coefficient arrays.
1882
1883 * regtest/*.c
1884 Bunch of fixes.
1885
1886 * src/test_file_io.c
1887 Use snprintf instead of strncpy in test program.
1888
1889 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1890
1891 * src/sd2.c
1892 Validate data before using.
1893
1894 * src/caf.c
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).
1898
1899 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1900
1901 * Octave/octave_test.sh
1902 Unset TERM environment variable and export LD_LIBRARY_PATH.
1903
1904 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1905
1906 * src/file_io.c
1907 In windows code, cast LPVOID to 'char*' in printf.
1908
1909 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1910
1911 * M4/octave.m4
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.
1915
1916 * src/wav.c
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.
1919
1920 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1921
1922 * src/common.h src/*.c
1923 Use C99 snprintf everywhere.
1924
1925 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1926
1927 * tests/test_wrapper.sh.in
1928 New file to act as the template for the test wrapper script.
1929
1930 * configure.ac
1931 Generate tests/test_wrapper.sh from the template.
1932
1933 * tests/Makefile.am
1934 Replace all tests with a single invocation of the test wrapper script.
1935
1936 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1937
1938 * src/ogg.c
1939 Record vorbis library version string.
1940
1941 * configure.ac
1942 Require libvorbis >= 1.2.2.
1943
1944 * M4/endian.m4
1945 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
1946
1947 * M4/octave.m4 M4/mkoctfile_version.m4
1948 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
1949
1950 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1951
1952 * Octave/Makefile.am
1953 Use $(top_buildir) instead of $(builddir) which may not be defined.
1954
1955 * M4/octave.m4
1956 Improve logic and status reporting.
1957
1958 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1959
1960 * configure.ac AUTHORS NEWS README doc/*.html
1961 Final tweaks for 1.0.18 release.
1962
1963 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1964
1965 * programs/sndfile-convert.c
1966 Add 'htk' to the list of convert formats.
1967
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.
1971
1972 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1973
1974 * doc/index.html
1975 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
1976
1977 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1978
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.
1983
1984 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1985
1986 * doc/index.html
1987 Fix links to versions of the LGPL.
1988
1989 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1990
1991 * tests/string_test.c
1992 Add test for RDWR mode where the file ends up shorter than when it was
1993 opened.
1994
1995 * src/wav.c
1996 Truncate the file on close for RDWR mode where the file ends up shorter
1997 than when it was opened.
1998
1999 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2000
2001 * M4/add_cflags.m4
2002 Fix problem with quoting of '#include'.
2003
2004 * M4/add_cxxflags.m4 configure.ac
2005 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
2006
2007 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2008
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.
2012
2013 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2014
2015 * configure.ac src/Makefile.am
2016 Tweaks to generation of Symbols files.
2017
2018 * tests/win32_ordinal_test.c
2019 Update tests for above changes.
2020
2021 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2022
2023 * programs/common.c
2024 When merging broadcast info, make sure to clear the destination field
2025 before copying in the new data.
2026
2027 * programs/test-sndfile-metadata-set.py
2028 Add test for the above.
2029
2030 * src/broadcast.c
2031 Fix checking of required coding_history_size.
2032
2033 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2034
2035 * tests/command_test.c
2036 Add test to detect if coding history is truncated.
2037
2038 * src/broadcast.c
2039 Fix truncation of coding history.
2040
2041 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2042
2043 * tests/command_test.c
2044 Add broadcast_coding_history_size test.
2045
2046 * programs/*.[ch]
2047 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
2048
2049 * src/rf64.c
2050 Add code to prevent infinite loop on malformed file.
2051
2052 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
2053 Rationalize and improve error handling when parsing 'fmt ' chunk.
2054
2055 * M4/octave.m4
2056 Simplify and remove cruft.
2057 Check for correct Octave version.
2058
2059 * Octave/*
2060 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
2061
2062 * Octave/sndfile.cc Octave/PKG_ADD
2063 Add Octave function sfversion which returns the libsndfile version that the
2064 module is linked against.
2065
2066 * Octave/Makefile.am
2067 Bunch of build and 'make distcheck' fixes.
2068
2069 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2070
2071 * programs/common.c
2072 Return 1 if SFC_SET_BROADCAST_INFO fails.
2073
2074 * programs/test-sndfile-metadata-set.py
2075 Update for new programs directory, exit on any error.
2076
2077 * tests/error_test.c
2078 Fix failure behaviour in error_number_test.
2079
2080 * src/common.h src/sndfile.c
2081 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
2082
2083 * src/*
2084 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
2085
2086 * src/broadcast.c
2087 Fix generation of added coding history.
2088
2089 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2090
2091 * programs/sndfile-metadata-get.c programs/sndfile-info.c
2092 Exit with non-zero on errors.
2093
2094 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2095
2096 * examples/sndfile-to-text.c examples/Makefile.am
2097 Add a new example program and hook it into the build.
2098
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
2102 were.
2103
2104 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2105
2106 * tests/Makefile.am
2107 Automake 1.10 MinGW cross compiling fixes.
2108
2109 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2110
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.
2114
2115 * tests/command_test.c
2116 Fix a valgrind warning.
2117
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.
2121
2122 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2123
2124 * src/broadcast.c
2125 Fix termination of desitination string in strncpy_crlf.
2126 When copying BROADCAST_INFO chunk, make sure destination gets correct line
2127 endings.
2128
2129 * examples/common.c
2130 Fix copying of BROADCAST_INFO coding_history field.
2131
2132 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2133
2134 * tests/command_test.c
2135 Add test function instrument_rw_test, but don't hook it into the testing
2136 yet.
2137
2138 * src/common.h src/command.c src/sndfile.c src/flac.c
2139 Error code rationalization.
2140
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.
2144
2145 * doc/command.html
2146 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
2147
2148 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2149
2150 * tests/command_test.c
2151 Improve error reporting when '\0' is found in coding history.
2152 Fix false failure.
2153
2154 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2155
2156 * src/broadcast.c
2157 Convert all coding history line endings to \r\n.
2158
2159 * tests/command_test.c
2160 Add test to make sure all line endings are converted to \r\n.
2161
2162 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2163
2164 * src/broadcast.c
2165 Changed the order of coding history fields.
2166
2167 * tests/command_test.c
2168 Update bextch test to cope with previous change.
2169
2170 * examples/common.c
2171 Add extra length check when copying broadcast info data.
2172
2173 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2174
2175 * tests/utils.tpl tests/pcm_test.tpl
2176 Update check_file_hash_or_die to use 64 bit hash.
2177
2178 * tests/checksum_test.c tests/Makefile.am
2179 Add new checksum_test specifically for lossy compression of headerless
2180 files.
2181
2182 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2183
2184 * src/gsm610.c
2185 Seek to psf->dataoffset before decoding first block.
2186
2187 * src/sndfile.c
2188 Fix detection of mpc2k files on big endian systems.
2189
2190 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2191
2192 * src/broadcast.c
2193 Use '\r\n' newlines in Coding History as required by spec.
2194
2195 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2196
2197 * src/test_conversions.c
2198 Use int64_t instead of 'long long'.
2199
2200 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2201
2202 * examples/sndfile-metadata-set.c
2203 Remove --bext-coding-history-append command line option because it didn't
2204 really make sense.
2205
2206 * examples/sndfile-metadata-(get|set).c
2207 Add usage messages.
2208
2209 * examples/test-sndfile-metadata-set.py
2210 Start work on test coding history.
2211
2212 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2213
2214 * README doc/win32.html
2215 Bring these up to date.
2216
2217 * src/aiff.c
2218 Fix parsing of REX files.
2219
2220 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2221
2222 * src/file_io.c
2223 Use intptr_t instead of long for return value of _get_osfhandle.
2224
2225 * src/test_conversions.c src/test_endswap.tpl
2226 Fix printing of int64_t values.
2227
2228 * examples/sndfile-play.c
2229 Fix win64 issues.
2230
2231 * tests/win32_ordinal_test.c
2232 Fix calling of GetProcAddress with ordinal under win64.
2233
2234 * tests/utils.tpl
2235 Fix win64 issues.
2236
2237 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2238
2239 * examples/*
2240 Rename copy_data.[ch] to common.[ch]. Fix build.
2241 Move code from sndfile-metadata-set.c to common.c.
2242
2243 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
2244 Clean paths.
2245
2246 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2247
2248 * doc/tutorial.html doc/Makefile.am
2249 Add file doc/tutorial.html and hook into build/dist system.
2250
2251 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2252
2253 * examples/sndfile-metadata-set.c
2254 Clean up handling of bext command line params.
2255
2256 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2257
2258 * src/w64.c
2259 Add handling/skipping of a couple of new chunk types.
2260
2261 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2262
2263 * configure.ac
2264 Add -funsigned-char to CFLAGS if the compiler supports it.
2265
2266 * examples/sndfile-metadata-(get|set).c
2267 Add handling for more metadata types.
2268
2269 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2270
2271 * src/common.h
2272 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
2273 field of SF_INFO into component parts.
2274
2275 * src/*.c
2276 Use new macros everywhere it is appropriate.
2277
2278 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2279
2280 * examples/sndfile-bwf-set.c
2281 Massive reworking.
2282
2283 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2284
2285 * examples/sndfile-bwf-set.c
2286 Add --info-auto-create-date command line option.
2287
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.
2292
2293 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2294
2295 * src/wav.c
2296 Allow 'PAD ' chunk to be modified in RDWR mode.
2297
2298 * src/sndfile.h.in src/sndfile.c
2299 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
2300
2301 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
2302 tests/misc_test.c
2303 Add tests for RF64.
2304
2305 * src/rf64.c
2306 Fixes to make sure all tests pass.
2307
2308 * tests/Makefile.am tests/string_test.c
2309 Add string tests (not yet passing).
2310
2311 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2312
2313 * src/rf64.c
2314 First pass at writing RF64 now working.
2315
2316 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2317
2318 * examples/sndfile-convert.c
2319 Add SF_FORMAT_RF64 to format_map.
2320
2321 * src/common.h src/sndfile.c
2322 More RF64 support code.
2323
2324 * examples/sndfile-bwf-set.c
2325 Fix the month number in autogenerated date string and use hypen in date
2326 instead of slash.
2327
2328 * examples/test-sndfile-bwf-set.py
2329 Update tests.
2330
2331 * examples/sndfile-info.c
2332 When called with -i or -b option, operate on all files on command line, not
2333 just the first.
2334
2335 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2336
2337 * src/rf64.c
2338 New file to handle RF64 (WAV like format supportting > 4Gig files).
2339
2340 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
2341 Hook the above into build so hacking can begin.
2342
2343 * src/pcm.c
2344 Improve log message when pcm_init fails.
2345
2346 * src/sndfile-info.c
2347 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
2348 length.
2349
2350 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2351
2352 * tests/string_test.c
2353 Polish string_multi_set_test.
2354
2355 * src/wav.c
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.
2360
2361 * examples/test-sndfile-bwf-set.py
2362 Add Python script to test sndfile-bwf-set/get.
2363
2364 * examples/sndfile-bwf-set.c
2365 Clean up and fixes.
2366
2367 * src/wav.c
2368 Merge function wavex_write_header into wav_write_header, deleting about 70
2369 lines of code.
2370
2371 * src/common.h
2372 Double value of SF_MAX_STRINGS.
2373
2374 * tests/string_test.c
2375 Add string tests for WAVEX and RIFX files.
2376
2377 * tests/command_test.c
2378 Add broadcast test for WAVEX files.
2379
2380 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2381
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).
2385
2386 * tests/command_test.c
2387 Add new broadcast_rdwr_test (currently failing).
2388
2389 * src/wav.c
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.
2392
2393 * src/sndfile.c
2394 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
2395
2396 * configure.ac
2397 Test for <sys/time.h> and gettimeofday.
2398
2399 * src/common.c
2400 Use gettimeofday() to initialize psf_rand_int32.
2401
2402 * src/common.h src/sndfile.c
2403 Add unique_id field to SF_PRIVATE struct.
2404
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.
2407
2408 * src/common.h src/strings.c
2409 Add function psf_location_string_count.
2410
2411 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2412
2413 * configure.ac
2414 Test for localtime and localtime_r.
2415
2416 * examples/sndfile-convert.c
2417 In function copy_metadata(), copy broadcast info if present.
2418
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.
2422
2423 * tests/utils.tpl
2424 Add new function create_short_sndfile().
2425
2426 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
2427 examples/Makefile.am
2428 Add new files and hook into build.
2429
2430 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2431
2432 * src/sndfile.h.in
2433 Fix comments. Patch from Mark Glines.
2434
2435 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2436
2437 * tests/misc_test.c
2438 Use zero_data_test on Ogg/Vorbis files.
2439
2440 * src/ogg.c
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.
2443
2444 * tests/Makefile.am
2445 Make sure to run mist_test on Ogg/Vorbis files.
2446
2447 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2448
2449 * regtest/Makefile.am
2450 Use SQLITE3_CFLAGS to locate sqlite headers.
2451
2452 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2453
2454 * doc/index.html doc/FAQ.html
2455 Add notes about which versions of windows libsndfile works on.
2456
2457 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2458
2459 * tests/misc_test.c
2460 Add a test for correct handling of Ambisonic files. Thanks to Fons
2461 Adriaensen for the test.
2462
2463 * src/wav.c src/wav_w64.c
2464 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
2465
2466 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2467
2468 * configure.ac
2469 Fix detection/enabling of external libs.
2470
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.
2475
2476 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2477
2478 * src/aiff.c
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.
2481
2482 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2483
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.
2487
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.
2491
2492 * src/sndfile.h.in
2493 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
2494 unsigned.
2495
2496 * examples/sndfile-info.c
2497 Print out the BEXT time reference in a sensible format.
2498
2499 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2500
2501 * src/*.c
2502 Fuzz fixes.
2503
2504 * src/ogg.c
2505 Add call to ogg_stream_clear to fix valgrind warning.
2506
2507 * src/aiff.c
2508 Fix x86_64 compile issue.
2509
2510 * configure.ac src/Makefile.am src/flac.c src/ogg.c
2511 Link to external versions of FLAC, Ogg and Vorbis.
2512
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.
2516
2517 * tests/external_libs_test.c tests/Makefile.am
2518 Add new test and hook into build and test suite.
2519
2520 * src/command.c
2521 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
2522 the right data when external libs are disabled.
2523
2524 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2525
2526 * tests/write_read_test.tpl
2527 Add a test for extending a file during write by seeking past the current
2528 end of file.
2529
2530 * src/sndfile.c
2531 Allow seeking past end of file during write.
2532
2533 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2534
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.
2539
2540 * doc/index.html doc/FAQ.html doc/libsndfile.css
2541 Minor documentation tweaks.
2542
2543 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2544
2545 * configure.ac
2546 Add AM_PROG_CC_C_O.
2547
2548 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2549
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.
2554
2555 * src/sndfile.c
2556 Make sf_close return an error is the file descriptor is already closed.
2557
2558 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2559
2560 * configure.ac
2561 Set object format to aout for OS/2. Thanks to David Yeo.
2562
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.
2565
2566 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
2567 tests/Makefile.am
2568 Add tests for MPC 2000 file format.
2569
2570 * examples/sndfile-convert.c
2571 Allow conversion to MPC 2000 file format.
2572
2573 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2574
2575 * src/VORBIS/lib/codebook.c
2576 Sync from upstream SVN.
2577
2578 * autogen.sh configure.ac
2579 Minor tweaks.
2580
2581 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2582
2583 * src/ogg.c
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.
2586
2587 * src/OGG/bitwise.c
2588 Sync from upstream SVN.
2589
2590 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2591
2592 * src/aiff.c
2593 Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
2594 this issue.
2595
2596 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2597
2598 * tests/*.c
2599 Add calls to sf_close() where needed.
2600
2601 * tests/utils.tpl tests/multi_file_test.c
2602 Always pass 0 as the third argument to open when OS_IS_WIN32.
2603
2604 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2605
2606 * src/test_*
2607 Add files test_main.[ch].
2608 Collapse all tests into a single executable.
2609
2610 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2611
2612 * src/FLAC
2613 Sync to upstream CVS.
2614
2615 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2616
2617 * src/common.h
2618 Make SF_MIN and SF_MAX macros MinGW friendly.
2619
2620 * examples/sndfile-(info|play).c
2621 Use Sleep function from <windows.h> instead of _sleep.
2622
2623 * tests/locale_test.c
2624 Disable some tests when OS_IS_WIN32.
2625
2626 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
2627 src/FLAC/src/share/utf8/utf8.c
2628 MinGW fixes.
2629
2630 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2631
2632 * doc/FAQ.html
2633 Tweaks to pcm16 <-> float conversion answer.
2634
2635 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2636
2637 * src/OGG
2638 Sync to SVN upstream.
2639
2640 * Makefile.am
2641 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
2642
2643 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2644
2645 * examples/sndfile-jackplay.c
2646 Minor tweaks to warning message printed when compiled without libjack.
2647
2648 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2649
2650 * tests/peak_chunk_test.c
2651 Improve read_write_peak_test to find more errors. Inspired by example
2652 provided by Nicolas Castagne.
2653
2654 * src/aiff.c
2655 Another SFM_RDWR fix shown up by above test.
2656
2657 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2658
2659 * src/aiff.c
2660 Fix reading of COMM encoding string.
2661
2662 * src/chunk.c src/common.h src/Makefile.am
2663 New file for storing and retrieving info about header chunks. Hook into
2664 build.
2665
2666 * src/aiff.c
2667 Use new chunk logging to fix problem with AIFF in RDWR mode.
2668
2669 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2670
2671 * src/command.c
2672 Add WVE to the list of major formats.
2673
2674 * tests/aiff_rw_test.c
2675 Fix error reporting.
2676
2677 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2678
2679 * src/common.[ch]
2680 Add internal functions str_of_major_format, str_of_minor_format,
2681 str_of_open_mode and str_of_endianness.
2682
2683 * tests/write_read_test.tpl
2684 Fix reporting of errors in new_rdwr_XXXX_test.
2685
2686 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2687
2688 * examples/sndfile-play.c
2689 Apply patch from Yair K. to fix compiles with OSS v4.
2690
2691 * src/common.h src/float32.c src/double64.c
2692 Rename psf->float_enswap to psf->data_endswap.
2693
2694 * src/sndfile.h.in src/sndfile.c src/pcm.c
2695 Add command SFC_RAW_NEEDS_ENDSWAP.
2696
2697 * tests/command.c
2698 Add test for SFC_RAW_NEEDS_ENDSWAP.
2699
2700 * doc/command.html
2701 Document SFC_RAW_NEEDS_ENDSWAP.
2702
2703 * tests/peak_chunk_test.c
2704 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
2705 bug report.
2706
2707 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2708
2709 * examples/sndfile-cmp.c
2710 Add new example program contributed by Conrad Parker.
2711
2712 * examples/Makefile.am
2713 Hook into build.
2714
2715 * doc/development.html
2716 Change use or reconfigure.mk to autogen.sh.
2717
2718 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2719
2720 * tests/win32_test.c
2721 Add another win32 test.
2722
2723 * tests/util.tpl
2724 Add function file_length_fd which wraps fstat.
2725
2726 * tests/Makefile.am
2727 Run the multi_file_test on AU files.
2728
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.
2732
2733 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2734
2735 * src/sd2.c
2736 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
2737
2738 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2739
2740 * doc/index.html
2741 Allow use of either LGPL v2.1 or LGPL v3.
2742
2743 * tests/header_test.tpl
2744 Add header_shrink_test from Axel Röbel.
2745
2746 * src/wav.c
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).
2749
2750 * src/aiff.c tests/header_test.tpl
2751 Apply similar fix to above for AIFF files.
2752
2753 * src/wav.c tests/header_test.tpl
2754 Apply similar fix to above for WAVEX files.
2755
2756 * src/command.c
2757 Add Ogg/Vorbis to 'get format' commands.
2758
2759 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2760
2761 * src/ogg.c
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).
2764
2765 * tests/ogg_test.c
2766 Add stereo seek tests.
2767
2768 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2769
2770 * tests/ogg_test.c
2771 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
2772 case supplied by Bodo.
2773
2774 * tests/utils.(def|tpl)
2775 Add compare_XXX_or_die functions.
2776
2777 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2778
2779 * src/aiff.c
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.
2782
2783 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2784
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.
2788
2789 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2790
2791 * examples/sndfile-convert.c
2792 Fix handling of -override-sample-rate=X option.
2793
2794 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2795
2796 * src/ogg.c src/VORBIS
2797 Merge in Ogg Vorbis support from John ffitch of the Csound project.
2798
2799 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2800
2801 * src/sndfile.c
2802 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
2803 recognise 'vox8' as and 'vox' as 8kHz files.
2804
2805 * configure.ac
2806 Detect libjack (JACK Audio Connect Kit).
2807
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.
2811
2812 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2813
2814 * doc/index.html
2815 Update support table with SD2 and FLAC.
2816
2817 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2818
2819 * src/sndfile.c
2820 Fix calculation of internal value psf->read_current when attempting to read
2821 past end of audio data.
2822 Remove redundant code.
2823
2824 * tests/lossy_comp_test.c
2825 Add read_raw_test to check that raw reads do not go past the end of the
2826 audio data section.
2827 Clean up error output messages.
2828
2829 * src/sndfile.c
2830 Add code to prevent sf_read_raw from reading past the end of the audio data.
2831
2832 * tests/Makefile.am
2833 Add the wav_pcm lossy_comp_test.
2834
2835 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2836
2837 * configure.ac src/Makefile.am src/create_symbols_file.py
2838 More OS/2 fixes from David Yeo.
2839
2840 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2841
2842 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
2843 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
2844
2845 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2846
2847 * src/common.h
2848 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
2849
2850 * src/create_symbols_file.py
2851 Add support for OS/2 contributed by David Yeo.
2852
2853 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2854
2855 * M4/gcc_version.m4
2856 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
2857
2858 * configure.ac
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.
2862
2863 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2864
2865 * tests/util.tpl
2866 Increase the printing width for print_test_name().
2867
2868 * tests/command_test.c tests/Makefile.am
2869 Add tests for correct updating of broadcast WAV coding history.
2870
2871 * examples/sndfilehandle.cc examples/Makefile.am
2872 Add example program using the C++ SndfileHandle class.
2873
2874 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2875
2876 * src/common.h src/sndfile.c
2877 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
2878
2879 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2880
2881 * src/sd2.c
2882 Identify sample-rate/sample-size/channels by resource id.
2883
2884 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2885
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.
2889
2890 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2891
2892 * src/FLAC/include/share/alloc.h
2893 Mingw fix for SIZE_T_MAX from Uli Franke.
2894
2895 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2896
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.
2899
2900 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2901
2902 * tests/scale_clip_test.(def|tpl)
2903 Add tests for SFC_SET_INT_FLOAT_WRITE command.
2904
2905 * doc/command.html
2906 Add docs for SFC_SET_INT_FLOAT_WRITE command.
2907
2908 * examples/sndfile-play.c tests/dft_cmp.c
2909 Fix gcc-4.2 warning messages.
2910
2911 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2912
2913 * src/sndfile.h.in src/sndfile.c
2914 Add command SFC_GET_CURRENT_SF_INFO.
2915
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).
2918
2919 * tests/command_test.c
2920 Add test for SFC_GET_CURRENT_SF_INFO.
2921
2922 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2923
2924 * src/wav.c
2925 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
2926
2927 * configure.ac
2928 Put config stuff in Cfg directory.
2929 Remove check for inttypes.h.
2930
2931 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2932
2933 * src/w64.c
2934 Fix writing of 'riff' chunk length and check for correct value in parser.
2935
2936 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2937
2938 * doc/index.html
2939 Link to MP3 FAQ entry.
2940
2941 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2942
2943 * src/flac.c
2944 Move the blocksize check to an earlier stage of flac_buffer_copy.
2945
2946 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2947
2948 * src/FLAC
2949 Huge merge from FLAC upstream.
2950
2951 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2952
2953 * examples/*.c
2954 Change license to all example programs to BSD.
2955
2956 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2957
2958 * src/FLAC/include/FLAC/metadata.h
2959 Include <sys/types.h> to prevent compile error on OSX.
2960
2961 * Octave/octave_test.sh
2962 Disable test on OSX. Can't get it to work.
2963
2964 * src/flac.c
2965 Check the blocksize returned from the FLAC decoder to prevent buffer
2966 overruns. Reported by Jeremy Friesner. Thanks.
2967
2968 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2969
2970 * Makefile.am M4/octave.m4
2971 Fix build when Octave headers are not present.
2972
2973 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2974
2975 * doc/development.html
2976 Add note about bzr repository directory looking empty.
2977
2978 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2979
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.
2983
2984 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2985
2986 * acinclude.m4 configure.ac ...
2987 Get rid of acinclude.m4 and replace it with an M4 directory.
2988
2989 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2990
2991 * src/sndfile.h.in
2992 Remove crufty Metrowerks compiler support. Allow header file to be compiled
2993 on windows with both GCC and microsoft compiler.
2994
2995 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2996
2997 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
2998 Clean up floating point tests.
2999
3000 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3001
3002 * src/aiff.c
3003 Fix segfault when COMM chunk length is byte swapped.
3004
3005 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3006
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.
3009
3010 * src/au.c
3011 Fix crash on AU files with zero channel count. Reported by Ben Alison.
3012
3013 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3014
3015 * src/voc.c
3016 Fix bug in handling file supplied by Matt Olenik.
3017
3018 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3019
3020 * src/OGG
3021 Merge from OGG upstream sources.
3022
3023 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3024
3025 * src/FLAC
3026 Merge from FLAC upstream sources.
3027
3028 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3029
3030 * src/flac.c
3031 Fix memory leak; set copy parameter to FALSE in call to
3032 FLAC__metadata_object_vorbiscomment_append_comment.
3033
3034 * src/common.[ch]
3035 Add function psf_rand_int32().
3036
3037 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3038
3039 * src/FLAC
3040 Merge from FLAC upstream sources.
3041
3042 * src/strings.c tests/string_test.c tests/Makefile.am
3043 Make sure string tests for SF_STR_LICENSE actually works.
3044
3045 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3046
3047 * tests/string_test.c
3048 Add ability to test strings stored in metadata secion of FLAC files.
3049
3050 * src/string.c
3051 Fix logic for testing if audio data has been written and string is added.
3052 Make sure SF_STR_ALBUM actually works.
3053
3054 * src/flac.c
3055 Finalize reading/writing string metadata. Tests pass.
3056
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.
3059
3060 * src/sndfile.h.in
3061 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
3062
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).
3065
3066 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3067
3068 * src/flac.c
3069 Apply patch from Ed Schouten to read artist and title metadata from FLAC
3070 files.
3071 Improve reporting of FLAC metadata.
3072
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.
3075
3076 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3077
3078 * src/FLAC/*
3079 Merge from upstream CVS.
3080
3081 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3082
3083 * src/FLAC/*
3084 Update from upstream CVS.
3085
3086 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3087
3088 * tests/cpp_test.cc
3089 Add extra tests for when the SndfileHandle constructor fails.
3090
3091 * src/sndfile.hh
3092 Make sure failure to open the file in the constructor does not allow later
3093 calls to other methods to fail.
3094
3095 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3096
3097 * tests/util.tpl
3098 Add function write_mono_file.
3099
3100 * tests/generate.[ch] tests/Makefile.am
3101 Add files generate.[ch] and hook into build.
3102
3103 * tests/write_read_test.tpl
3104 Add multi_seek_test.
3105
3106 * src/flac.c
3107 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
3108 by David Viens.
3109
3110 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3111
3112 * doc/FAQ.html
3113 Minor update.
3114
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.
3117
3118 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3119
3120 * src/wav.c
3121 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
3122
3123 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3124
3125 * src/wav.c
3126 Fix array indexing bug raised by Bruce Sharpe.
3127
3128 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3129
3130 * src/FLAC/src/share/getopt/getopt.c
3131 Fix Mac OSX / PowerPC compile warnings.
3132
3133 * configure.ac
3134 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
3135
3136 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3137
3138 * doc/FAQ.html
3139 Add Q/A about MP3 support.
3140
3141 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3142
3143 * doc/new_file_type.HOWTO
3144 Minor updates.
3145
3146 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3147
3148 * src/wve.c
3149 Fix a couple bad parameters with psf_log_printf.
3150
3151 * src/pcm.c
3152 Improve error reporting.
3153
3154 * src/common.h src/common.c
3155 Constify psf_hexdump.
3156
3157 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3158
3159 * src/FLAC
3160 Ditch and re-import required FLAC code.
3161
3162 * configure.ac
3163 Force FLAC__HAS_OGG variable to 1.
3164
3165 * src/FLAC/src/libFLAC/stream_encoder.c
3166 Fix compiler warnings.
3167
3168 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3169
3170 * configure.ac tests/win32_ordinal_test.c
3171 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
3172 true.
3173
3174 * src/G72x/Makefile.am src/Makefile.am
3175 Use $(EXEEXT) where possible.
3176
3177 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3178
3179 * src/wve.c src/common.h src/sndfile.c
3180 Complete definition of SfE_WVE_NO_WVE error message.
3181
3182 * src/wve.c
3183 Fix error in files generated on big endian systems. Robustify parsing.
3184
3185 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3186
3187 * src/double64.c
3188 Fix clipping of double to short conversions on 64 bit systems.
3189
3190 * src/flac.c regtest/database.c tests/cpp_test.cc
3191 Fix compile warnings for 64 bit systems.
3192
3193 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3194
3195 * src/wav.c src/wav_w64.c
3196 Use audio detect function when 'fmt ' chunk data is suspicious.
3197
3198 * configure.ac
3199 Add ugly hack to remove -Werror from some Makefiles.
3200
3201 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3202
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.
3205
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.
3209
3210 * tests/lossy_comp_test.c tests/Makefile.am
3211 Add tests for WVE files.
3212
3213 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3214
3215 * src/sndfile.hh
3216 Add a static SndfileHandle::formatCheck method as suggested by Jorge
3217 Jiménez.
3218
3219 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3220
3221 * src/sndfile.c
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.
3225
3226 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3227
3228 * src/flac.c
3229 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
3230 opening file for RDWR.
3231
3232 * src/sndfile.c
3233 Improve error message for SFE_BAD_RDWR_FORMAT.
3234
3235 * src/mat4.c
3236 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
3237
3238 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3239
3240 * doc/FAQ.html
3241 Add Q/A 19 on project files.
3242
3243 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3244
3245 * src/sndfile.c
3246 Guard agains MacOSX universal binary compiles.
3247
3248 * doc/FAQ.html
3249 Add Q/A 18 and clean up Q3.
3250
3251 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3252
3253 * src/aiff.c
3254 Add support for 'in24' files.
3255
3256 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3257
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.
3260
3261 * src/audio_detect.c src/test_audio_detect.c
3262 Add new file and its unit test.
3263
3264 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3265
3266 * examples/cooledit-fixer.c examples/Makefile.am
3267 Remove old broken example program.
3268
3269 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3270
3271 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
3272 Add function sf_get_info.
3273
3274 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3275
3276 * examples/sndfile-play.c
3277 For ALSA, use the 'default' device instead of 'plughw:0'.
3278
3279 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3280
3281 * src/sndfile.c
3282 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
3283
3284 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3285
3286 * doc/development.html doc/embedded_files.html man/sndfile-play.1
3287 Minor documentation fixes. Thanks Reuben Thomas.
3288
3289 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3290
3291 * examples/sndfile-convert.c
3292 Add -override-sample-rate command line option.
3293
3294 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3295
3296 * tests/misc_test.c
3297 Force errno to zero at start of some tests.
3298
3299 * src/sndfile.c
3300 Minor clean up of error handling.
3301
3302 * configure.ac
3303 Remove an assembler test which was failing on OSX.
3304
3305 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3306
3307 * src/common.h
3308 Fix the definition of SF_PLATFORM_S64 for MinGW.
3309
3310 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
3311 Fix path problems for MinGW.
3312
3313 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3314
3315 * src/sfendian.h
3316 Add include guard.
3317
3318 * src/Makefile.am src/flac.c
3319 Clean up include paths.
3320
3321 * src/test_conversions.c
3322 New file to test psf_binheader_readf/writef functions.
3323
3324 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
3325 Clean up unit testing.
3326
3327 * src/common.c
3328 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
3329 for reporting this.
3330
3331 * src/test_conversions.c
3332 Complete unit test for above fix.
3333
3334 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3335
3336 * src/sndfile.c
3337 More refactoring to clean up psf_open_file() and vairous sf_open()
3338 functions.
3339
3340 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3341
3342 * src/wav.c
3343 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
3344 files of over 4 gigabytes.
3345
3346 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3347
3348 * src/sndfile.c
3349 Refactor function psf_open_file() to provide a single return point.
3350
3351 * tests/misc_test.c
3352 Fix permission_test to ensure that read only file can be created.
3353
3354 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3355
3356 * src/common.h
3357 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
3358 bit integers.
3359
3360 * src/aiff.c src/svx.c src/wav.c
3361 Add warning in log if files are larger than 4 gigabytes in size.
3362
3363 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3364
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.
3368
3369 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3370
3371 * src/sd2.c
3372 Add workaround for switched sample rate and sample size.
3373
3374 * src/wav.c
3375 Add workaround for excessively long coding history in the 'bext' chunk.
3376
3377 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3378
3379 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
3380 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
3381
3382 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3383
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.
3387
3388 * src/*.c
3389 Use the UNUSED macro to prevent compiler warnings.
3390
3391 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3392
3393 * src/aiff.c
3394 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
3395 to David Viens for providing two example files.
3396
3397 * src/common.(c|h) src/aiff.c
3398 Add a function psf_sanitize_string and use it in aiff.c.
3399
3400 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3401
3402 * src/wav_w64.c
3403 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
3404
3405 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3406
3407 * src/Makefile.am
3408 Fix problem related to recent test coverage changes.
3409
3410 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3411
3412 * configure.ac tests/Makefile.am
3413 Add --enable-test-coverage configure option.
3414
3415 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3416
3417 * src/sndfile.hh
3418 Add an std::string SndfileHandle constructor.
3419
3420 * tests/scale_clip_test.tpl
3421 Fix the 'make distcheck' target.
3422
3423 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3424
3425 * src/double64.c src/float32.c
3426 Add optional clipping on float file data to int read data conversions.
3427
3428 * tests/tests/scale_clip_test.(def|tpl)
3429 Add test for above new code.
3430
3431 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3432
3433 * tests/aiff_rw_test.c
3434 Add 'MARK' chunks to make sure they are parsed correctly.
3435
3436 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3437
3438 * src/aiff.c
3439 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
3440 help debug the problem.
3441
3442 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3443
3444 * src/common.h
3445 Make the SF_MIN and SF_MAX macros at least partially type safe.
3446
3447 * tests/lossy_comp_test.c
3448 Fix overflow problems when ensuring that signalis not zero.
3449
3450 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3451
3452 * configure.ac docs/*.html
3453 Changes for release 1.0.17.
3454
3455 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3456
3457 * src/flac.c
3458 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
3459 for notifying me of this.
3460
3461 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3462
3463 * src/sndfile.hh
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).
3469
3470 * tests/cpp_test.cc
3471 Cleanup. Add tests.
3472
3473 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3474
3475 * src/sndfile.hh
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.
3481
3482 * tests/cpp_test.cc
3483 Add more tests.
3484
3485 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3486
3487 * tests/cpp_test.cc
3488 Remove the generated file so "make distcheck" passes.
3489
3490 * src/Makefile.am
3491 Add sndfile.hh to distributed header files.
3492
3493 * src/sndfile.hh
3494 Change the license for the C++ wrapper to modified BSD.
3495
3496 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3497
3498 * src/sndfile.hh
3499 Complete it.
3500
3501 * tests/cpp_test.cc
3502 Add more tests.
3503
3504 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3505
3506 * tests/utils.tpl
3507 Add extern C to generated header file.
3508
3509 * src/sndfile.hh
3510 Work towards completing this.
3511
3512 * tests/cpp_test.cc tests/Makefile.am
3513 Add a C++ test and hook into build.
3514
3515 * configure.ac
3516 Add appropriate CXXFLAGS.
3517
3518 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3519
3520 * configure.ac
3521 Test if compiler supports -Wpointer-arith.
3522
3523 * src/common.c
3524 Fix a warning resulting from -Wpointer-arith.
3525
3526 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3527
3528 * examples/sndfile-play.c
3529 Explicitly set endian-ness as well as setting 16 bit output.
3530
3531 * examples/sndfile-info.c
3532 Make sure to parse info if file fails to open.
3533
3534 * src/sndfile.c
3535 Handle parse error a little better.
3536
3537 * src/wav_w64.[ch]
3538 Minor clean up, add detection of IPP ITU G723.1.
3539
3540 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3541
3542 * src/sndfile.c
3543 Make sure psf->dataoffset gets reset to zero when openning headersless
3544 files based on the file name extension.
3545
3546 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3547
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".
3552
3553 * examples/cooledit-fixer.c
3554 More fixes like above.
3555
3556 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3557
3558 * src/file_io.c
3559 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
3560 correctly.
3561
3562 * src/sndfile.c
3563 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
3564
3565 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3566
3567 * configure.ac
3568 Fixed detection of S_IRGRP.
3569
3570 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3571
3572 * sndfile-convert.c
3573 Add conversion SF_INSTRUMENT data when present.
3574
3575 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3576
3577 * doc/development.html
3578 Removed references to tla on windows.
3579
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.
3583
3584 * tests/write_read_test.tpl
3585 Change the order of some tests.
3586
3587 * src/aiff.c
3588 When writing 'AIFC' files, make sure get an 'FVER' gets added.
3589
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.
3593
3594 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3595
3596 * Win32/testprog.c Win32/Makefile.am
3597 Add a minimal win32 test program.
3598
3599 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
3600 Update readme and Mingw build script.
3601
3602 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3603
3604 * configure.ac acinclude.m4
3605 Minor fixes for Solaris.
3606
3607 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3608
3609 * src/test_endswap.(def|tpl)
3610 Fix printf formatting for int64_t on 64 bit machines.
3611
3612 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3613
3614 * src/binhead_check.py
3615 New file to check for bad parameters passed to psf_binheader_writef().
3616
3617 * src/Makefile.am
3618 Hook into test suite.
3619
3620 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
3621 Fix bugs found by new test program.
3622
3623 * src/double64.c
3624 Clean up double64_get_capability().
3625
3626 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3627
3628 * src/wav_w64.c
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
3631 login on his box.
3632
3633 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3634
3635 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
3636 tests/utils.tpl
3637 Fix a couple of signed/unsigned problems.
3638
3639 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3640
3641 * tests/command_test.c
3642 Add channel map tests.
3643
3644 * src/common.h src/sndfile.c
3645 Add a pointer to the SF_PRIVATE struct and make sure it gets freed in
3646 sf_close().
3647
3648 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3649
3650 * configure.ac doc/(command|index|api).html NEWS README
3651 Updates for 1.0.16 release.
3652
3653 * src/sndfile.h.in
3654 Define enums for channel mapping.
3655
3656 * examples/sndfile-info.c
3657 Clean up usage of SF_INFO struct.
3658
3659 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3660
3661 * tests/util.tpl
3662 Add function testing function exit_if_true().
3663
3664 * tests/floating_point_test.tpl
3665 Fix a problem where the test program was not exiting when the test failed.
3666
3667 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3668
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.
3671
3672 * doc/commands.html
3673 Document new commands. Other minor updates.
3674
3675 * tests/peak_chunk_test.c
3676 Update tests for new commands.
3677
3678 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3679
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.
3683
3684 * src/sndfile.c
3685 Fix a bug where enabling and disabling PEAK chunk was screwing up.
3686
3687 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3688
3689 * src/sndfile.h.in
3690 Add the block of 190 reserved bytes into this struct to allow for
3691 future expansion.
3692
3693 * src/wav.c src/sndfile.c src/broadcast.c
3694 Significant cleanup of broadcast wave stuff.
3695
3696 * examples/sndfile-info.c
3697 Fix print message.
3698
3699 * tests/command_test.c tests/Makefile.am
3700 Complete bext tests, hook test in test suite.
3701
3702 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3703
3704 * src/sndfile.h.in
3705 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
3706 of a char pointer.
3707
3708 * src/sndfile.c src/common.h src/wav.c
3709 Clean up knock on effects of above chnage.
3710
3711 * examples/sndfile-info.c
3712 Add -b command line option to usage message.
3713 Clean up output of broadcast wave info.
3714
3715 * src/wav.c
3716 Ignore and skip the 'levl' chunk.
3717
3718 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3719
3720 * configure.ac
3721 Fix handling of --enable and --disable configure args. Thanks to Diego
3722 'Flameeyes' Pettenò who sent the patch.
3723
3724 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3725
3726 * doc/win32.html
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++.
3729
3730 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3731
3732 * src/aiff.c
3733 Fix bug in writing of INST chunk in AIFF files.
3734 Fix potential bug in writing MARK chunks.
3735
3736 * src/sndfile.c
3737 Make sure the instrument chunk can only be written at the start of the file.
3738
3739 * tests/command_test.c
3740 Add check of log buffer.
3741
3742 * tests/utils.tpl
3743 Add usage of space character to psf_binheader_writef.
3744
3745 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3746
3747 * src/Makefile.am tests/Makefile.am
3748 Remove --source-time argument from autogen command lines.
3749
3750 * src/broadcast.c
3751 New file for EBU Broadcast chunk in WAV files.
3752
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.
3755
3756 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3757
3758 * Win32/README-precompiled-dll.txt
3759 New file descibing how to use the precompiled DLL.
3760
3761 * Win32/Makefile.am
3762 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
3763
3764 * configure.ac
3765 Bump version to 1.0.15.
3766
3767 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3768
3769 * src/wav.c
3770 On read, only add the endian flag if the file is big endian.
3771
3772 * src/ms_adpcm.c
3773 Fixed writing of APDCM coeffs in RIFX files.
3774
3775 * tests/write_read_test.tpl tests/lossy_comp_test.c
3776 Add tests for RIFX files.
3777
3778 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3779
3780 * Mingw-make-dist.sh
3781 Bunch of improvements.
3782
3783 * doc/win32.html
3784 Update MinGW program versions.
3785
3786 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3787
3788 * src/create_symbols_file.py
3789 Fix the library name in created win32 DEF file. Add correct DLL name for
3790 Cygwin DLL.
3791
3792 * Win32/Makefile.am tests/Makefile.am
3793 Remove redundant files, add win32_ordinal_test to test suite.
3794
3795 * tests/win32_ordinal_test.c
3796 Update to do test in cygsndfile-1.dll as well.
3797
3798 * doc/win32.html
3799 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
3800
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.
3803
3804 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3805
3806 * Makefile.am
3807 Add Mingw-make-dist.sh to the extra dist files.
3808
3809 * configure.ac
3810 Fix setting SHLIB_VERSION_ARG for MinGW.
3811
3812 * tests/win32_ordinal_test.c
3813 New test program to test that the win32 DLL ordinals agree with the DEF
3814 file.
3815
3816 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3817
3818 * src/common.h
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.
3821
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.
3825
3826 * src/sd2.c
3827 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
3828 to the start of the resource fork.
3829
3830 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3831
3832 * Mingw-make-dist.sh
3833 Add a shell script to build the windows binary/source ZIP file.
3834
3835 * doc/index.html
3836 Add download link for windows binary/source ZIP file. Add links for GPG
3837 signatures.
3838
3839 * doc/win32.html
3840 Remove info about building using microsoft compiler.
3841
3842 * configure.ac
3843 Bump version to 1.0.14.
3844
3845 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3846
3847 * src/sd2.c
3848 Improve logging of errors in resource fork parser.
3849
3850 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3851
3852 * Win32/Makefile.msvc
3853 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
3854
3855 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3856
3857 * src/common.c
3858 Make sure return values are initialised header buffer is full.
3859
3860 * src/wav.c
3861 Add workarounds for messed up WAV files.
3862
3863 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3864
3865 * Win32/config.h
3866 Undef HAVE_INTTYPES_H for win32.
3867
3868 * tests/command_test.c
3869 Don't exit on error in instrument test for XI files.
3870
3871 * configure.ac
3872 Bump version to 1.0.13.
3873
3874 * doc/*.html NEWS README
3875 Update version numbers.
3876
3877 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3878
3879 * src/xi.c
3880 Start work on add read/write of instrument chunks.
3881
3882 * src/command_test.c
3883 Add tests for XI instrument chunk.
3884
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
3888 to run.
3889
3890 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3891
3892 * examples/sndfile-play.c
3893 Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
3894
3895 * src/common.h
3896 Make sure length of header buffer can hold header plus strings. Thanks Axel
3897 Röbel.
3898
3899 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3900
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.
3905
3906 * tests/command_test.c
3907 Update SF_INSTRUMENT tests.
3908
3909 * tests/Makefile.am
3910 Hook instrument tests into test suite.
3911
3912 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3913
3914 * configure.ac
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.
3917
3918 * src/sfendian.h src/common.h
3919 Use <inttypes.h> if <stdint.h> is not available.
3920
3921 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3922
3923 * tests/peak_chunk_test.c
3924 Extend and clean up tests.
3925
3926 * src/sndfile.c
3927 Fix a bug that prevented the turning off of PEAK chunks.
3928
3929 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3930
3931 * tests/error_test.c
3932 Make the test distclean correct.
3933
3934 * src/file_io.c
3935 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
3936
3937 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3938
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.
3942
3943 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3944
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.
3947
3948 * tests/error_test.c tests/Makefile.am
3949 Updates, including a new test to test that sf_error() returns a valid error
3950 number.
3951
3952 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3953
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.
3957
3958 * src/sndfile.c
3959 Make the return value of sf_error() match the API documentation.
3960
3961 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3962
3963 * examples/sndfile-convert.c
3964 Allow conversion to raw gsm610.
3965
3966 * src/common.h src/sndfile.c src/au.c
3967 Remove au_nh_open() and all references to it (wasn't working anyway).
3968
3969 * tests/headerless_test.c
3970 Add new test for file extension based detection.
3971
3972 * src/sndfile.c
3973 Rejig file extension based file type detection.
3974
3975 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3976
3977 * src/sndfile.c
3978 Add "gsm" as a recognised file extension when no magic number can be found.
3979
3980 * tests/lossy_comp_test.c tests/Makefile.am
3981 Test headerless GSM610.
3982
3983 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3984
3985 * doc/api.html
3986 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
3987
3988 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3989
3990 * src/wav_w64.c
3991 Add more reporting of 'fmt ' chunk for G721 encoded files.
3992
3993 * src/wav.c
3994 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
3995
3996 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3997
3998 * src/G72x/g72x.[ch]
3999 Minor cleanup of interface.
4000
4001 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4002
4003 * src/ogg.c
4004 Removed the horribly broken and non-functional OGG implementation when
4005 --enable-experimental was enabled. When OGG does finally work it will be
4006 merged.
4007
4008 * src/caf.c
4009 Fix a memory leak.
4010
4011 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4012
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.
4015
4016 * doc/index.html
4017 Update support matrix.
4018
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.
4022
4023 * src/gsm610.c
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.
4028
4029 * src/wav.c
4030 Simplify wav_close function.
4031
4032 * src/aiff.c
4033 Make sure the tailer data gets written at an even file offset. Pad if
4034 necessary.
4035
4036 * src/common.h
4037 Replace the close function pointer in SF_PRIVATE with separate functions
4038 codec_close and container_close. The former is always called first.
4039
4040 * src/*.c
4041 Fix knock on effects of above.
4042
4043 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4044
4045 * examples/sndfile-info.c
4046 Complete dumping SF_INSTRUMENT data.
4047
4048 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
4049 Add extra checks in *_init function.
4050
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.
4054
4055 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4056
4057 * examples/sndfile-info.c
4058 Minor code cleanup.
4059 Start work on dumping SF_INSTRUMENT data.
4060
4061 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4062
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.
4067
4068 * src/wav.c src/wav_w64.c
4069 Add support for Ambisoncs B WAVEX files (David Viens).
4070
4071 * src/aiff.c src/wav.c src/wav_w64.c
4072 Start work on reading/writing the SF_INSTRUMENT data.
4073
4074 * src/sndfile.c
4075 Add code to get and set SF_INSTRUMENT data.
4076
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.
4080
4081 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4082
4083 * src/gsm610.c
4084 Minor cleanup.
4085
4086 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4087
4088 * tests/lossy_comp_test.c
4089 Minor cleanup.
4090
4091 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4092
4093 * src/*.c
4094 Ensure sfconfig.h is included before any other header file.
4095
4096 * src/file_io.c
4097 Add comments documenting the three sections of the file.
4098
4099 * src/gsm610.c
4100 Make sure SF_FORMAT_WAVEX are handled correctly.
4101
4102 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4103
4104 * configure.ac
4105 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
4106
4107 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4108
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.
4112
4113 * configure.ac
4114 Bump the version to 1.0.12 for release.
4115
4116 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
4117 Update version numbers.
4118
4119 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4120
4121 * src/flac.c
4122 Fix valgrind error and minor cleanup.
4123
4124 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4125
4126 * src/(au|paf|aiff|w64|wav|svx).c
4127 Make sure structs are initialised.
4128
4129 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4130
4131 * configure.ac
4132 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
4133 option.
4134 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
4135 compiler supports it.
4136
4137 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4138
4139 * configure.ac acinclude.m4
4140 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
4141
4142 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4143
4144 * tests/util.(tpl|def)
4145 Make the test_write_*_or_die() functions const safe.
4146
4147 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4148
4149 * src/nist.c
4150 Make sure the data offset is read from the file header. Thanks to
4151 David A. van Leeuwen for a patch.
4152
4153 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4154
4155 * configure.ac src/sfconfig.h
4156 Check for <locale.h> and the function setlocale().
4157 Set config variables to zero if not found.
4158
4159 * tests/locale_test.c tests/Makefile.am
4160 Add new test program and hook into build/test system.
4161
4162 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4163
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().
4167
4168 * src/sd2.c
4169 Make resource fork handling independant of file desciptor/handles.
4170
4171 * src/sndfile.c src/test_file_io.c
4172 Fix knock on effects.
4173
4174 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4175
4176 * src/float_cast.h
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
4179 header file.
4180
4181 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4182
4183 * tests/(lossy_comp_test|virtual_io_test).c
4184 More Valgrind fixups.
4185
4186 * configure.ac
4187 Simplify and correct configuring for Cygwin.
4188
4189 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
4190 Update build for MSVC.
4191
4192 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4193
4194 * tests/lossy_comp_test.c
4195 Make sure to close SNDFILE when exiting test when file format is not seekable.
4196
4197 * tests/(aiff_rw_test|virtual_io_test).c
4198 Do a few valgrind fix ups.
4199
4200 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4201
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.
4205
4206 * src/sfconfig.h
4207 New file to clean up issues surrounding autoconf generated preprocessor
4208 symbols.
4209
4210 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
4211 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
4212
4213 * src/file_io.c
4214 Remove Mac OS9 Metrowerks compiler specific hacks.
4215
4216 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4217
4218 * src/w64.c
4219 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
4220 prevent Valgrind error.
4221
4222 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4223
4224 * doc/command.html
4225 Improve documentation of SF_GET_FORMAT_SUBTYPE.
4226
4227 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4228
4229 * examples/sndfile-convert.c
4230 Allow files to be converted to SD2 format.
4231
4232 * src/sd2.c
4233 Fix a bug in reading and writing of SD2 files on little endian CPUs.
4234 Thanks to Matthew Willis for finding this.
4235
4236 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4237
4238 * doc/api.html
4239 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
4240
4241 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4242
4243 * configure.ac
4244 Use $host_os instead of $target_os (thanks to Mo De Jong).
4245
4246 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4247
4248 * src/Makefile.am
4249 Apply a patch from Mo DeJong to allow building outside of the source dir.
4250
4251 * src/file_io.c
4252 Fix psf_fsync() for win32.
4253
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.
4257
4258 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4259
4260 * src/create_symbols_file.py
4261 Make sure sf_write_fsync is an exported symbol.
4262
4263 * examples/sndfile-convert.c
4264 Add support for writing VOX adpcm files.
4265
4266 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4267
4268 * doc/api.html
4269 Document the new function sf_write_sync().
4270
4271 * doc/FAQ.html
4272 Do you plan to support XYZ codec.
4273
4274 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4275
4276 * src/sndfile.h.in src/sndfile.c
4277 Add function sf_write_sync() to the API.
4278
4279 * src/common.h src/file_io.c
4280 Low level implementation (win32 not done yet).
4281
4282 * tests/write_read_test.tpl
4283 Use the new function in the tests.
4284
4285 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4286
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.
4290
4291 * src/aiff.c src/caf.c src/wav.c
4292 Fix knock on effects of above changes.
4293
4294 * src/caf.c
4295 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
4296 SF_FORMAT_DOUBLE format.
4297
4298 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4299
4300 * src/nist.c
4301 Fix a bug where a variable was being used without being initialized.
4302
4303 * src/flac.c
4304 Add extra debug in sf_flac_meta_callback.
4305 Make a bunch of private functions static.
4306
4307 * src/aiff.c src/wav.c
4308 Fix allocation for PEAK_CHUNK (bug found using valgrind).
4309
4310 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4311
4312 * src/common.h
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.
4316
4317 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
4318 Fix knock on effects from above.
4319
4320 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4321
4322 * src/wav.c
4323 Prevent files with unknown chunks from being opened read/write.
4324
4325 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4326
4327 * src/flac.c
4328 Do not use psf->end_of_file because it never gets set to anything.
4329
4330 * src/common.h
4331 Remove unused SF_PRIVATE field end_of_file.
4332
4333 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4334
4335 * src/common.c
4336 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
4337 style strings (no terminating character).
4338
4339 * src/aiff.c
4340 Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
4341 so persistent on this issue.
4342
4343 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4344
4345 * src/sndfile.c
4346 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
4347
4348 * doc/api.html doc/command.html
4349 Documentation updates (thanks to Kyroz for promoting these updates).
4350
4351 * src/mat5.c
4352 Modify the way the header is written.
4353
4354 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4355
4356 * src/caf.c
4357 Add a 'free' chunk to the written file so that the audio data starts at
4358 an offset of 0x1000.
4359
4360 * src/sndfile.c
4361 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
4362
4363 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4364
4365 * src/caf.c src/sndfile.c
4366 Add support for signed 8 bit integers.
4367
4368 * tests/write_read_test.tpl
4369 Add test for signed 8 bit integers in CAF files.
4370
4371 * doc/index.html
4372 Update matrix for signed 8 bit integers in CAF files.
4373
4374 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4375
4376 * src/sndfile.c
4377 Update sf_check_format() to support CAF.
4378
4379 * examples/sndfile-convert.c
4380 Add support for ".caf" file extension.
4381
4382 * doc/index.html
4383 Add Apple CAF to the support matrix.
4384
4385 * src/caf.c
4386 Add file write support.
4387
4388 * src/common.c
4389 Fix printing of Frames.
4390
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.
4394
4395 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4396
4397 * doc/FAQ.html
4398 Fix Q/A about reading/writing memory buffers.
4399
4400 * src/caf.c
4401 Bunch of work to support reading of CAF files.
4402
4403 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4404
4405 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
4406 Fix sign conversion errors reported by gcc-4.0.
4407
4408 * src/caf.c
4409 New file for Apple's Core Audio File format.
4410
4411 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
4412 Hook new file into build system.
4413
4414 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4415
4416 * src_wav_w64.c
4417 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
4418 for supplying an example file.
4419
4420 * src/common.h src/sndfile.c
4421 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
4422
4423 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4424
4425 * src/sndfile.h.in src/common.h src/sndfile.c
4426 Add public error value SF_ERR_MALFORMED_FILE.
4427
4428 * src/sndfile.c
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).
4431
4432 * configure.ac
4433 Allow sqlite support to be disabled in configure script.
4434
4435 * regtest/database.c regtest/sndfile-regtest.c
4436 Fix compiling when sqlite is missing.
4437
4438 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4439
4440 * src/file_io.c
4441 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
4442
4443 * src/sndfile.c
4444 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
4445
4446 * tests/virtual_io_test.c
4447 Fill in skeleton test program.
4448
4449 * tests/Makefile.am
4450 Move virtual i/o tests to end of tests with stdio/pipe tests.
4451
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.
4454
4455 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4456
4457 * src/sndfile.c
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.
4461
4462 * doc/command.html
4463 Correct documented return values for SFC_SET_NORM_DOUBLE and
4464 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
4465
4466 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4467
4468 * regtest/*
4469 Add new files for sndfile-regtest program.
4470
4471 * configure.ac Makefile.am
4472 Hook regetest into build.
4473
4474 * src/wav.c src/common.c
4475 Fix a regression where long ICMT chunks were causing the WAV parser
4476 to exit.
4477
4478 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4479
4480 * libsndfile.spec.in
4481 Add html docs to the files section as suggested by Karsten Jeppesen.
4482
4483 * src/aiff.c
4484 Fix parsing of odd length ANNO chunks.
4485
4486 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4487
4488 * src/common.h
4489 Change the include guard to prevent clashes with other code.
4490
4491 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4492
4493 * examples/sndfile-play.c
4494 Improve error handling in code for playback under Linux/ALSA.
4495
4496 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4497
4498 * src/ircam.c
4499 Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
4500
4501 * src/wav.c
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
4504 supplied the file).
4505
4506 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4507
4508 * src/aiff.c
4509 Apply a patch From David Viens to make the parsing of basc chunks more
4510 robust.
4511
4512 * src/wav.c
4513 Another patch from David Viens to write correct wavex channel masks for
4514 the most common channel configurations.
4515
4516 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4517
4518 * src/command.c
4519 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
4520 Leigh Smith.
4521
4522 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4523
4524 * src/common.h
4525 Add a directory field for storing the file directory to the SF_PRIVATE
4526 struct.
4527
4528 * src/sndfile.c
4529 Grab the directory name when copying the file path.
4530
4531 * src/file_io.c
4532 Cleanup psf_open_rsrc() and also check for resource fork in
4533 .AppleDouble/filename.
4534
4535 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4536
4537 * src/svx.c
4538 Fix a bug in the printing of the channel count. Bug reported by Michael
4539 Schwendt. Thanks.
4540
4541 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4542
4543 * src/paf.c
4544 Fix a seek bug for 24 bit PAF files.
4545
4546 * tests/write_read_test.tpl
4547 Update write_read_test to trigger the previously hidden PAF seek bug.
4548
4549 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4550
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.
4555
4556 * src/common.h src/sndfile.c
4557 Remove SFE_LOG_OVERRIN error and its associated error message.
4558
4559 * src/file_io.c
4560 Fix a rsrc fork problem on MacOSX.
4561
4562 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4563
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.
4569
4570 * tests/virtual_io_test.c tests/Makefile.am
4571 Add a new test program (currently empty) and add it to the build.
4572
4573 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4574
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
4578 I/O interface.
4579
4580 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4581
4582 * src/*.c src/sndfile.h.in
4583 Const-ify the write path throughout the library.
4584
4585 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4586
4587 * doc/development.html
4588 Minor improvements.
4589
4590 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4591
4592 * doc/bugs.html
4593 Minor improvements.
4594
4595 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4596
4597 * src/aiff.c
4598 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
4599
4600 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4601
4602 * doc/FAQ.html
4603 Remove some ambiguities in the SD2 FAQ answer.
4604
4605 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4606
4607 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
4608 Updates from autoconfig versions.
4609
4610 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4611
4612 * src/aiff.c
4613 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
4614 instead of COMT chunk.
4615
4616 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4617
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.
4621
4622 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4623
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.
4627
4628 * src/sd2.c
4629 Make sure resource fork gets closed.
4630
4631 * tests/util.tpl
4632 Add functions to check for file descriptor leakage.
4633
4634 * src/write_read_test.tpl
4635 Use the file descriptor leak checks.
4636
4637 * src/sndfile.h.in
4638 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
4639
4640 * src/common.h
4641 Add SF_LOOP_INFO pointer to SF_PRIVATE.
4642
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.
4646
4647 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4648
4649 * src/sd2.c
4650 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
4651
4652 * Win32/config.h Win32/sndfile.h
4653 Updates.
4654
4655 * tests/util.tpl
4656 Add win32 macro for snprintf.
4657
4658 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4659
4660 * src/sfendian.h
4661 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
4662
4663 * src/sd2.c
4664 Use macros to make sure writing SD2 files on little endian machines works
4665 correctly.
4666
4667 * tests/util.tpl
4668 Add a delete_file() function which also deletes the resource fork of SD2
4669 files.
4670
4671 * tests/write_read_test.tpl
4672 Use delete_file() so that "make distcheck" works.
4673
4674 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4675
4676 * src/sndfile.c src/file_io.c
4677 Move resource filename construction and testing to psf_open_rsrc().
4678
4679 * src/common.h src/sndfile.c
4680 Add error SFE_SD2_FD_DISALLOWED.
4681
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.
4685
4686 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4687
4688 * src/wav.c
4689 Update ACID chunk parsing.
4690
4691 * src/sd2.c
4692 More fixes for files with large resource forks.
4693
4694 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4695
4696 * src/common.h src/sndfile.c
4697 Add error numbers and messages for sd2 files.
4698
4699 * src/sd2.c
4700 Reading of sd2 (resource fork version) now seems to be working.
4701
4702 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4703
4704 * src/file_io.h
4705 Update file_io.c to include win32 psf_rsrc_open().
4706
4707 * tests/floating_point_test.tpl
4708 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
4709
4710 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
4711 Updates.
4712
4713 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4714
4715 * src/sfendian.h
4716 Fix endswap_int64_t_(array|copy).
4717
4718 * src/test_endswap.(tpl|def)
4719 Add tests for above and inprove all tests.
4720
4721 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4722
4723 * src/sfendian.h
4724 Improve type safety, add endswap_double_array().
4725
4726 * src/double64.c
4727 Use endswap_double_array() instead of endswap_long_array().
4728
4729 * src/test_endswap.(tpl|def) src/Makefile.am
4730 Add preliminary endswap tests and hook into build system.
4731
4732 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4733
4734 * src/configure.ac src/makefile.am
4735 Finally fix the bulding of DLLs on Win32/MinGW.
4736
4737 * tests/makefile.am
4738 Fix running of tests on Win32/MinGW.
4739
4740 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4741
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.
4744
4745 * doc/command.html
4746 Document SFC_SET_SCALE_FLOAT_INT_READ.
4747
4748 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4749
4750 * tests/floating_point_test.(tpl|def)
4751 Derived from floating_point_test.c.
4752 Add (float|double)_(short|int)_test functions.
4753
4754 * tests/util.(tpl|def)
4755 Make separate float and double versions of gen_windowed_sine().
4756
4757 * tests/write_read_test.tpl
4758 Fix after changes to gen_windowed_sine().
4759
4760 * src/(float32|double64).c
4761 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
4762
4763 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4764
4765 * acinclude.m4
4766 Fix warnings from automake 1.8 and later.
4767
4768 * examples/sndfile-info.c
4769 Add a "fflush (stdout)" after printing Win32 message.
4770
4771 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4772
4773 * Win32/Makefile.mingw.in
4774 Add a "make install" target.
4775
4776 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4777
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.
4780
4781 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4782
4783 * examples/sndfile-convert.c
4784 Fix a bug converting stereo integer PCM files to float.
4785
4786 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4787
4788 * examples/sndfile-play.c
4789 Appy patch from Conrad Parker to make Mac OSX error messages more
4790 consistent and informative.
4791
4792 * doc/api.html
4793 Fix a HTML HREF which was wrong.
4794
4795 * doc/win32.html
4796 Add information about when nmake fails.
4797
4798 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4799
4800 * examples/sndfile-play.c
4801 Another patch from Denis Cote to prevent race conditions.
4802
4803 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4804
4805 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
4806 Fix alternative to ISO standard flexible struct array feature for broken
4807 compilers.
4808
4809 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4810
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
4813 read mode.
4814
4815 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4816
4817 * src/common.h
4818 Change the unnamed union into a named union so gcc-2.95 will compile it.
4819
4820 * src/*.c
4821 Fixes to allow for the above change.
4822
4823 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4824
4825 * examples/sndfile-play.c
4826 Fixes for Win32. Thanks to Denis Cote.
4827
4828 * Win32/Win32/Makefile.(msvc|mingw.in)
4829 Fix build system after removal of sfendian.h.
4830 Build sndfile-convert.
4831
4832 * src/Makefile.am
4833 Remove sfendian.c from dependancies.
4834
4835 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4836
4837 * src/sndfile.h.in
4838 Fix typo in comments (thanks Tommi Sakari Uimonen).
4839
4840 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4841
4842 * tests/(a|u)law_test.c
4843 Minor cleanup.
4844
4845 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4846
4847 * src/(pcm|float|double64|ulaw|alaw|xi).c
4848 Optimise read/write loops by removing a redundant variable.
4849
4850 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4851
4852 * src/file_io.c
4853 Remove call to fsync() in psf_close().
4854
4855 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4856
4857 * src/pcm.c
4858 Inline x2y_array() functions where possible.
4859
4860 * configure.ac
4861 Detect presence of type int64_t.
4862
4863 * src/sfendian.c src/sfendian.h
4864 Move functions in the first file to the sfendian.h as static inline
4865 functions.
4866 Improve endswap_long_*() where possible.
4867
4868 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4869
4870 * src/pcm.c
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.
4874
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.
4878
4879 * configure.ac
4880 Detect presence of <byteswap.h>.
4881
4882 * src/sfendian.h
4883 Use <byteswap.h> if present as suggested by Stefan Briesenick.
4884
4885 * src/pcm.c
4886 Update bytewapping.
4887
4888 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4889
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.
4893
4894 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4895
4896 * examples/sndfile-play.c
4897 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
4898 mono files on MacOSX.
4899
4900 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4901
4902 * examples/sndfile-convert.c
4903 Move copy_metadata() after the second sf_open().
4904
4905 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4906
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.
4910
4911 * src/sndfile.h.in
4912 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
4913
4914 * Win32/sndfile.h MacOS9/sndfile.h
4915 Update these as per the above file.
4916
4917 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4918
4919 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
4920 src/Makefile.am
4921 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
4922 Annodex support via liboggz and libfishsound. Thanks Conrad.
4923
4924 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4925
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.
4929
4930 * src/w64.c
4931 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
4932 chunk.
4933
4934 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4935
4936 * configure.ac
4937 Bump version to 1.0.10 ready for release.
4938
4939 * Makefile.am
4940 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
4941 from distribution tarball.
4942
4943 * tests/header_test.tpl
4944 Fix uninitialised variable.
4945
4946 * src/GSM610/short_term.c
4947 Fix compiler warning on MSVC++.
4948
4949 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4950
4951 * src/wav.c
4952 Improve record keeping of chunks seen and return an error if a file with
4953 unusual chunks is opened in mode SFM_RDWR.
4954
4955 * src/mmreg.h
4956 This file not needed so remove it.
4957
4958 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4959
4960 * tests/header_test.tpl
4961 Add extra_header_test().
4962
4963 * src/common.h src/sndfile.c
4964 Add SFE_RDWR_BAD_HEADER error number and string.
4965
4966 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4967
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.
4971
4972 * tests/header_test.tpl
4973 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
4974
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.
4978
4979 * src/test_file_io.c
4980 Add a test for psf_ftruncate() function.
4981
4982 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4983
4984 * src/sndfile.c
4985 Fix another weird corner case bug found by Martin Rumori. Thanks.
4986
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.
4990
4991 * tests/Makefile.am
4992 Hook new tests into build/test system.
4993
4994 * tests/misc_test.c
4995 Remove update_header_test() which has been moved to the new files above.
4996
4997 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4998
4999 * src/aiff.c
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).
5003
5004 * tests/write_read_test.tpl
5005 Add a test (empty_file_test) for the above bug.
5006
5007 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5008
5009 * Win32/Makefile.mingw.in
5010 Added a Makefile for MinGW (needs to be processed by configure).
5011
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.
5015
5016 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5017
5018 * src/GSM610/gsm610_priv.h
5019 Replace ugly macros with inline functions.
5020
5021 * src/GSM610/*.c
5022 Remove temporary variables used by macros and other minor fixes required by
5023 above change.
5024
5025 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5026
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.
5030
5031 * src/sfendian.h
5032 Fix warning on Sparc CPU and code cleanup.
5033
5034 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5035
5036 * src/file_io.c
5037 Fix warning messages when compiling under MinGW.
5038
5039 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5040
5041 * configure.ac
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.
5044
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.
5048
5049 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5050
5051 * src/strings.c
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
5054 Parker.
5055
5056 * tests/string_test.c
5057 Add test to verify the above.
5058
5059 * examples/sndfile-convert.c
5060 Add ability to transcode meta data as well (Conrad Parker).
5061
5062 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5063
5064 * doc/command.html
5065 Fix minor error. Thanks to Simon Burton.
5066
5067 * doc/win32.html
5068 Started adding instructions for compiling libsndfile under MinGW.
5069
5070 * configure.ac
5071 Add --enable-bow-docs to enable black text on a white background HTML docs.
5072
5073 * doc/libsndfile.css.in
5074 This is now a template file for configure which sets the foreground and
5075 background colours.
5076
5077 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5078
5079 * configure.ac
5080 Do some MinGW fixes.
5081
5082 * configure.ac doc/Makefile.am
5083 Install HTML docs when doing make install.
5084
5085 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5086
5087 * examples/sndfile-info.c
5088 Print out the dB level with the signal max.
5089
5090 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5091
5092 * src/file_io.c
5093 Define S_ISSOCK in src/file_io.c if required.
5094
5095 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5096
5097 * configure.ac
5098 Improve printout configuration summary (as suggested by Axel Röbel).
5099
5100 * doc/index.html
5101 Add link to pre-release location.
5102
5103 * src/sndfile.h.in
5104 Remove comma after last element of enum.
5105
5106 * src/float32.c src/double64.c
5107 Fix read/write of float/double encoded raw files to/from pipes.
5108
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.
5112
5113 * tests/Makefile.am
5114 Hook tests/pipe_test.* into build system.
5115
5116 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5117
5118 * configure.ac acinclude.m4
5119 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
5120
5121 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5122
5123 * tests/misc_test.c
5124 Perform update_header_test in RDWR mode as well.
5125
5126 * src/aiff.c
5127 Fix problems when updating header in RDWR mode.
5128
5129 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5130
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.
5134
5135 * configure.ac doc/*.html
5136 Bump version to 1.0.9.
5137
5138 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5139
5140 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
5141 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
5142
5143 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5144
5145 * src/avr.c
5146 New file to handle Audio Visual Resaerch files.
5147
5148 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
5149 Hook AVR into everything else.
5150
5151 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
5152 Add testing for AVR files.
5153
5154 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5155
5156 * src/file_io.c
5157 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
5158 Technologie) for coming up with the solution.
5159
5160 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5161
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.
5165
5166 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5167
5168 * examples/generate.cs
5169 An example showing how to use libsndfile from C#. Thanks to James Robson
5170 for providing this.
5171
5172 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5173
5174 * src/common.c
5175 Fix problems with WAV files containing large chunks after the 'data'
5176 chunk. Thanks to Koen Tanghe for providing a sample file.
5177
5178 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5179
5180 * configure.ac
5181 Detect presense of ALSA (Advanced Linux Sound Architecture).
5182
5183 * examples/sndfile-play.c
5184 Add ALSA output support.
5185
5186 * examples/Makefile.am
5187 Add ALSA_LIBS to link line of sndfile-play.c.
5188
5189 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5190
5191 * acinclude.m4
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
5194 C Standard.
5195
5196 * configure.ac
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.
5200
5201 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5202
5203 * tests/write_read_test.tpl
5204 Fix compiler warning on Win32.
5205
5206 * src/file_io.c
5207 Fix use of an un-initialised variable in Win32 stuff.
5208
5209 * Win32/config.h examples/sndfile-play.c
5210 Win32 fixes.
5211
5212 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5213
5214 * configure.ac
5215 Fix bug which occurres when configuring for MinGW.
5216 If compiler is gcc and cross compiling use -nostdinc.
5217
5218 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5219
5220 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
5221 src/sndfile.c
5222 Fix a bug with PEAK chunk handling for files with more than 16 channels.
5223 Thanks to Remy Bruno for finding this.
5224
5225 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5226
5227 * src/common.c
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.
5230
5231 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5232
5233 * configure.ac src/file_io.c
5234 Fix cross-compiling from Linux to Win32 using the MinGW tools.
5235
5236 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5237
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.
5241
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.
5248
5249 * configure.ac src/Makefile.am Win32/Makefile.am
5250 Hook new Python script into the build system.
5251
5252 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5253
5254 * src/configure.ac
5255 Add --enable-gcc-werror option and move GCC specific stuff down.
5256
5257 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5258
5259 * acinclude.m4 configure.ac
5260 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
5261
5262 * src/file_io.c
5263 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
5264 of missing large file support on Linux and Solaris.
5265
5266 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5267
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.
5271
5272 * configure.ac src/Makefile.am examples/Makefile.am
5273 Fix a couple of MacOSX build issues.
5274
5275 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5276
5277 * doc/command.html
5278 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
5279
5280 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5281
5282 * doc/*.html
5283 Applied patch from Frank Neumann (author of lakai) which fixes many minor
5284 typos in documentation. Thanks Frank.
5285
5286 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5287
5288 * ChangeLog
5289 Changed my email address throughout source and docs.
5290
5291 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5292
5293 * src/file_io.c
5294 Make sure config.h is included before stdio.h to make sure large file
5295 support is enabled on Linux (and Solaris).
5296
5297 * tests/misc_test.c
5298 Disable update_header test on Win32. This should work but doesn't and
5299 I'm not sure why.
5300
5301 * Make.bat Win32/Makefile.msvc
5302 Updates.
5303
5304 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5305
5306 * src/common.h
5307 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
5308 int to int to prevent weird arithmetic bugs.
5309
5310 * src/common.c src/aiff.c src/wav.c src/w64.c
5311 Fixed compiler warnings resulting from above change.
5312
5313 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5314
5315 * src/common.c
5316 Fixed a bug in header reader for some files with data after the sample data.
5317
5318 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5319
5320 * tests/lossy_comp_test.c tests/Makefile.am
5321 Add tests for AIFF/IMA files.
5322
5323 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5324
5325 * src/macbinary3.c src/macos.c
5326 Two new files required for handling SD2 files.
5327
5328 * src/common.h
5329 Add prototypes for functions in above two files.
5330
5331 * src/Makefile.am
5332 Hook new files into build system.
5333
5334 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5335
5336 * configure.ac
5337 Add checks for mmap() and getpagesize() which might be used at some time
5338 for faster file reads.
5339 Add detection of MacOSX.
5340
5341 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5342
5343 * doc/FAQ.html
5344 Minor mods to pkg-config section.
5345
5346 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5347
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.
5360
5361 * configure.ac src/Makefile.am
5362 Hook the new script into the build process.
5363
5364 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5365
5366 * doc/index.html
5367 Added comments about Steve Dekorte's SoundConverter scam.
5368
5369 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5370
5371 * src/file_io.c
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.
5376
5377 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5378
5379 * tests/misc_test.c
5380 Fix update_header_test to pass SDS.
5381
5382 * src/sds.c
5383 More minor fixes.
5384
5385 * tests/floating_point_test.c
5386 Add test for SDS files.
5387
5388 * src/command.c
5389 Add SDS to major_formats array.
5390
5391 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5392
5393 * tests/write_read_test.tpl tests/misc_test.c
5394 Add tests for SDS files.
5395
5396 * src/sds.c
5397 Fix a bug in header update code.
5398
5399 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5400
5401 * src/sds.c
5402 Get file write working.
5403
5404 * src/paf.c
5405 Fix a potential bug in paf24_seek().
5406
5407 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5408
5409 * doc/FAQ.html
5410 Add Q/A about u-law encoded WAV files.
5411
5412 * Win32/*.h
5413 Updated so it compiles on Win32.
5414
5415 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5416
5417 * examples/sndfile-convert.c
5418 Add -alaw and -ulaw command line arguments.
5419
5420 * configure.ac
5421 Add library versioning comments.
5422 Add arguments to AC_INIT.
5423
5424 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5425
5426 * src/file_io.c
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.
5431
5432 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5433
5434 * src/dwvw.c
5435 Removed filedes field from the DWVW_PRIVATE struct.
5436
5437 * src/file_io.c
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().
5440
5441 * src/sndfile.c
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.
5445
5446 * src/test_file_io.c
5447 Minor changes to make it compile with new file_io.c stuff.
5448
5449 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5450
5451 * src/gsm610.h
5452 Rename a variable from true to true_flag. As Ross Bencina points out,
5453 true is defined in the C99 header <stdbool.h>.
5454
5455 * src/file_io.c
5456 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
5457
5458 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5459
5460 * src/common.h
5461 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
5462
5463 * src/sndfile.c
5464 Fix sf_read/write_raw which were dividing by psf->bytwidth and
5465 psf->blockwidth which can both be zero.
5466
5467 * examples/sndfile-info.c
5468 Increase size of BUFFER_LEN.
5469
5470 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5471
5472 * configure.ac
5473 Add checks for <sys/wait.h> and ssize_t.
5474 Other Win32/MinGW checks.
5475
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.
5479
5480 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5481
5482 * tests/scale_clip_test.tpl
5483 Add definition of M_PI if needed.
5484
5485 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5486
5487 * configure.ac
5488 Detect if S_IRGRP is declared in <unistd.h>.
5489
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.
5493
5494 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5495
5496 * src/config.h.in
5497 Add comment stating that the sf_count_t typedef is determined when
5498 libsndfile is being compiled.
5499
5500 * tests/utils.tpl
5501 Modified so that utils.c gets one copy of the GPL and not two.
5502
5503
5504 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5505
5506 * Win32/unistd.h src/sf_unistd.h
5507 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
5508
5509 * Win32/Makefile.am src/Makefile.am
5510 Changed in line with above.
5511
5512 * Win32/Makefile.msvc
5513 Removed "/I Win32" which is no longer required.
5514
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.
5518
5519 * src/*.c
5520 Removed #include <unistd.h> from files which didn't need it.
5521
5522 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5523
5524 * libsndfile.spec.in
5525 Apply fix from Andrew Schultz.
5526
5527 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5528
5529 * src/vox_adpcm.c
5530 Only set psf->sf.samplerate if the existing value is invalid.
5531
5532 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5533
5534 * examples/sndfile-play.c
5535 Started adding support for ALSA output.
5536
5537 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5538
5539 * src/sndfile.h.in
5540 Removed <stdlib.h> from sndfile.h.
5541
5542 * src/*.c examples/*.c tests/*.c tests/*.tpl
5543 Added <stdlib.h> where needed.
5544
5545 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5546
5547 * src/common.h
5548 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
5549
5550 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5551
5552 * doc/index.html
5553 Remove statements about alternative licensing arrangements.
5554
5555 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5556
5557 * MacOS MacOS9 Makefile.am configure.ac
5558 Change directory name from MacOS to MacOS9
5559
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.
5563
5564 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5565
5566 * src/test_log_printf.c
5567 Add tests for %u conversions.
5568
5569 * src/common.c
5570 Fix psf_log_printf() %u conversions.
5571
5572 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5573
5574 * src/aiff.c
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).
5581
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.
5585
5586 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5587
5588 * tests/pipe_test.c
5589 Add useek_pipe_rw_test() submitted by Russell Francis.
5590
5591 * src/sndfile.c
5592 In sf_open_fd(), check if input file descriptor is a pipe.
5593
5594 * src/sndfile.[ch]
5595 Fix typo in variable name do_not_close_descriptor.
5596
5597 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5598
5599 * src/test_log_printf.c
5600 Improve the tests for %d and %s conversions.
5601
5602 * src/common.c
5603 Fixed a few problems in psf_log_printf() found using new tests.
5604
5605 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5606
5607 * configure.ac
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.
5610
5611 * src/*.c examples/*.c tests/*.c
5612 Fix all compiler warnings arising from the above.
5613
5614 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5615
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.
5619
5620 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5621
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.
5625
5626 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5627
5628 * doc/new_file_type.HOWTO
5629 Updated document. Still incomplete.
5630
5631 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5632
5633 * src/sndfile.c
5634 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
5635 than saving it and returning zero.
5636
5637 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5638
5639 * src/file_io.c
5640 Two fixes for Mac OS9.
5641 Fix all casts from sf_count_t to ssize_t (not size_t).
5642
5643 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5644
5645 * src/wav.c
5646 Fix for reading files with RIFF length of 8 and data length of 0.
5647
5648 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5649
5650 * src/*.c tests/*.c tests/*.tpl
5651 Added comments to mark code for removal when make Lite version of
5652 libsndfile.
5653
5654 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5655
5656 * examples/sndfile-convert.c
5657 Add extra error checking for unrecognised arguments.
5658
5659 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5660
5661 * src/ima_adpcm.c
5662 Started adding code to write IMA ADPCM encoded AIFF files.
5663
5664 * src/test_log_printf.c src/Makefile.am
5665 New file to test psf_log_printf() function and add hooks into build system.
5666
5667 * src/common.c
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.
5670
5671 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5672
5673 * Win32/config.h Win32/sndfile.h
5674 Updated with new config variables.
5675
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.
5679
5680 * tests/utils.tpl
5681 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
5682 Win32.
5683
5684 * src/Makefile.msvc
5685 Added src\test_file_io.exe build target and run this as the very first
5686 test.
5687
5688 * tests/win32_test.c
5689 Add support for testing Cygwin32.
5690
5691 * configure.ac
5692 Detect POSIX fsync() and fdatasync() functions.
5693
5694 * src/file_io.c
5695 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
5696 file length.
5697
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.
5701
5702 * tests/misc_test.c
5703 Don't run permission test when compiling under Cygwin.
5704
5705 * src/float_cast.h
5706 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
5707 to match official function prototypes.
5708
5709 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5710
5711 * examples/sndfile-convert.c
5712 Modifications to improve accuracy of conversions; use double data for
5713 floating point and int for everything else.
5714
5715 * src/ima_apdcm.c
5716 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
5717 get encoding working.
5718
5719 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5720
5721 * src/aiff.c src/ima_adpcm.c
5722 Start working on getting IMA ADPCM encoded AIFF files working.
5723
5724 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5725
5726 * configure.ac
5727 Fixed the touch command for when the autogen program is not found (Matt
5728 Flax).
5729
5730 * src/ulaw.c src/alaw.c
5731 Made these pipe-able.
5732
5733 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5734
5735 * src/paf.c src/ircam.c
5736 Fixed writing to pipe.
5737
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.
5740
5741 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5742
5743 * examples/sndfile-info.c
5744 Modified to detect unknown file lengths.
5745
5746 * src/mat4.c
5747 Fix reading from a pipe.
5748
5749 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5750
5751 * tests/pipe_test.c
5752 Add more file types to tests.
5753
5754 * src/mat4.c
5755 Removed explicit setting of psf->sf.seekable to SF_TRUE.
5756
5757 * tests/utils.tpl
5758 Add macro for generating and check data in the stdio and pipe tests.
5759
5760 * tests/stdout_test.c tests/stdin_test.c
5761 Use the above macro to generate known data on output and check data on
5762 input.
5763
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
5766 error values.
5767
5768 * src/w64.c
5769 Fixes to allow reading from a pipe.
5770
5771 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5772
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.
5776
5777 * configure.ac
5778 Remove -pedantic flag from default GCC compiler flags.
5779
5780 * tests/pipe_test.c
5781 Add a pipe_read_test() before doing pipe_write_test().
5782
5783 * tests/scale_clip_test.c
5784 Add test to make sure non-normalized values also clip in the right way.
5785
5786 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5787
5788 * configure.ac
5789 Add test to detect processor clipping capabilities.
5790
5791 * tests/stdin_test.c tests/stdout_test.c
5792 Fix a pair of compiler warnings.
5793
5794 * src/common.h
5795 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
5796 offset when operating on a pipe.
5797
5798 * src/common.c
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.
5804
5805 * src/file_io.c
5806 When the file descriptor is a pipe, manintain psf->pipeoffset.
5807
5808 * src/pvf.c
5809 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
5810
5811 * src/au.c
5812 Fix reading from a pipe.
5813
5814 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5815
5816 * src/pcm.c
5817 Add clipping versions of the f2XXX_array() functions to allow option of
5818 clipping data that would otherwise overflow.
5819
5820 * tests/scale_clip_test.tpl tests/scale_clip_test.def
5821 New files test that clipping option does actually work.
5822
5823 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5824
5825 * doc/index.html
5826 Fixed a typo ("OS(" instead of "OS9").
5827
5828 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5829
5830 * tests/open_fail_test.c
5831 Include <string.h> to prevent warning message of missing declaration of
5832 memset().
5833
5834 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5835
5836 * src/common.h
5837 Add new "add_clipping" field to SF_PRIVATE.
5838
5839 * src/sndfile.h.in src/sndfile.c
5840 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
5841
5842 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5843
5844 * doc/api.html
5845 Add docs for sf_set_string() and sf_get_string().
5846
5847 * src/common.h src/sndfile.c
5848 Add new SFE_STR_BAD_STRING error.
5849
5850 * tests/stdin_test.c tests/stdout_test.c
5851 Removed all non-error print statements.
5852
5853 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
5854 Add print statements removed from two files above.
5855
5856 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5857
5858 * libsndfile.spec.in
5859 Fixed a coulpe of minor errors discovered by someone calling themselves
5860 Agent Smith.
5861
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)
5865
5866 * src/sndfile.c
5867 Fixed determination of whether the file is a pipe. (Axel Röbel)
5868
5869 * src/paf.c
5870 Force paf24 to start with undefined mode. (Axel Röbel)
5871
5872 * tests/pipe_test.c
5873 Mods to make this test work and actually do the test on RAW files. (Axel
5874 Röbel).
5875
5876 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5877
5878 * src/sndfile.c
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.
5882
5883 * src/aiff.c
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.
5886
5887 * src/test_file_io.c
5888 Add more tests.
5889
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.
5893
5894 * tests/Makefile.am Win32/Makefile.msvc
5895 Hook the new test program into the build system.
5896
5897 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5898
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.
5902
5903 * src/Makefile.am
5904 Hook new test program into the build system.
5905
5906 * src/file_io.c
5907 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
5908 the same.
5909
5910 * src/common.h src/sndfile.c
5911 Added new error code and error message for new check.
5912
5913 * tests/benchmark.tpl
5914 Fix to use frames instead of samples in SF_INFO.
5915
5916 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5917
5918 * src/file_io.c
5919 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
5920
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.
5924
5925 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5926
5927 * src/au.c
5928 Added embedded file support.
5929
5930 * tests/multi_file_test.c
5931 Added tests for embedded AU files.
5932 Added verbose testing mode.
5933
5934 * src/common.h src/sndfile.c
5935 Added an embedded AU specific error code and message.
5936
5937 * src/wav.c
5938 Added patch from Conrad Parker which filled in a little more information
5939 about ACIDized WAV files.
5940
5941 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5942
5943 * src/file_io.c
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?
5955
5956 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5957
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.
5961
5962 * Win32/libsndfile.def
5963 Added sf_open_fd.
5964
5965 * Win32/sndfile.h
5966 Updated to match src/sndfile.h.in.
5967
5968 * Win32/Makefile.msvc
5969 Added dither.c and htk.c to libsndfile.dll target.
5970
5971 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5972
5973 * src/file_io.c
5974 First attempt at getting the Win32 versions of the these functions working.
5975 They still need to be tested.
5976
5977 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5978
5979 * src/strings.c
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
5983 problem.
5984
5985 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5986
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).
5990
5991 * doc/embedded_files.html
5992 First pass atempt at documenting reading/writing embedded files.
5993
5994 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5995
5996 * doc/FAQ.html
5997 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
5998
5999 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6000
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.
6004
6005 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6006
6007 * src/file_io.c
6008 Fix psf_fseek() for seeks withing embedded files.
6009
6010 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6011
6012 * src/sndfile.h.in
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
6015 type correctly.
6016
6017 * src/sndfile.c
6018 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
6019
6020 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6021
6022 * doc/FAQ.html
6023 Added question and answer to the question "How about adding the ability
6024 to write/read sound files to/from memory buffers?".
6025
6026 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6027
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.
6031
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.
6035
6036 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6037
6038 * src/file_io.c
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.
6042
6043 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6044
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.
6049
6050 * tests/utils.tpl
6051 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
6052
6053 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6054
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.
6059
6060 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6061
6062 * src/sndfile.c
6063 Started work on supporting a non-zero offset parameter for sf_open_fd ().
6064
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.
6069
6070 * src/aiff.c
6071 Implemented functionality required to get sf_get_string() and
6072 sf_set_string() working for AIFF files.
6073
6074 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6075
6076 * tests/utils.tpl
6077 Modified test_open_file_or_die() to alternately use sf_open() and
6078 sf_open_fd().
6079
6080 * src/svx.c
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.
6085
6086 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6087
6088 * src/sndfile.h.in
6089 Added prototype for new function sf_open_fd().
6090
6091 * src/sndfile.c
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.
6095
6096 * doc/api.html
6097 Document sf_open_fd().
6098
6099 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6100
6101 * src/sndfile.c
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.
6104
6105 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6106
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.
6110
6111 * tests/Makefile.am
6112 Hook new test program into build.
6113
6114 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6115
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.
6120
6121 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6122
6123 * doc/dither.html
6124 New file which will document the interface which allows the addition of
6125 audio dither when sample word sizes are being reduced.
6126
6127 * src/dither.c
6128 More work.
6129
6130 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6131
6132 * tests/misc_test.c
6133 In update_header_test(), make HTK files a special case.
6134
6135 * doc/index.html
6136 Added HTK to the feature matrix.
6137
6138 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6139
6140 * src/htk.c
6141 New file for reading/writing HMM Tool Kit files.
6142
6143 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
6144 Hook in htk.c
6145
6146 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
6147 Add tests for HTK files.
6148
6149 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6150
6151 * src/wav.c
6152 Fixed a bug where the LIST chunk length was being written incorrectly.
6153
6154 * tests/string_test.c
6155 Added call to check_log_buffer().
6156 Minor cleanups.
6157
6158 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6159
6160 * src/wav_w64.h
6161 Applied patch from Antoine Mathys to add extra WAV format definitions and
6162 a G72x_ADPCM_WAV_FMT struct definition.
6163
6164 * src/wav_w64.c
6165 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
6166 one huge inefficient switch statement to a binary search.
6167
6168 * tests/string_test.c
6169 Dump log buffer if tests fail.
6170
6171 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6172
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.
6176
6177 * src/sndfile.c
6178 Fixed the above bug.
6179
6180 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6181
6182 * doc/FAQ.html
6183 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
6184 of Davy Durham).
6185
6186 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6187
6188 * src/sndfile.h.in
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.
6194
6195 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
6196 Added public sf_dither_*() functions.
6197
6198 * src/sndfile.c
6199 Implement commands above.
6200
6201 * src/dither.c
6202 More work. Framework and external hooks into dither algorithms complete.
6203
6204 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6205
6206 * doc/version-1.html libsndfile_version_convert.py
6207 Remove redundant files.
6208
6209 * doc/index.html doc/api.html
6210 Remove links to version-1.html.
6211
6212 * src/dither.c
6213 New file to allow the addition of audio dither on input and output.
6214
6215 * src/common.h
6216 Add prototype for dither_init() function.
6217
6218 * Makefile.am doc/Makefile.am
6219 Changes for added and removed files.
6220
6221 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6222
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.
6228
6229 * doc/index.html
6230 Added XI to support matrix.
6231
6232 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6233
6234 * src/sndfile.h.in
6235 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
6236 enum values.
6237
6238 * src/sndfile.c
6239 Added public interface to sf_get_string() and sf_set_string().
6240
6241 * src/wav.c
6242 Added code for setting and getting strings in WAV files.
6243
6244 * tests/string_test.c
6245 New test program for sf_get_string() and sf_set_string() functionality.
6246
6247 * tests/Makefile.am
6248 Hook new test program into build and test framework.
6249
6250 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6251
6252 * src/common.h
6253 Added fields to SF_PRIVATE for string data needed to implement
6254 sf_get_string() and sf_set_string().
6255
6256 * src/strings.c
6257 New file for storing and retrieving strings to/from files.
6258
6259 * src/Makefile.am
6260 Added strings.c to build.
6261
6262 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6263
6264 * src/xi.c
6265 Read seems to be working so looking at write.
6266
6267 * src/sndfile.h.in
6268 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
6269
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.
6272
6273 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6274
6275 * doc/index.html
6276 Added a non-lawyer readable summary of the licensing provisions as
6277 suggested by Steve Dekorte.
6278
6279 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6280
6281 * src/wav.c
6282 Fixed a compiler warning found by Alexander Lerch.
6283
6284 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6285
6286 * configure.ac
6287 Fixed the multiple linking of libm.
6288
6289 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6290
6291 * Win32/Makefile.mcvs
6292 Added comments on the correct way to set up the MSVCDir environment
6293 variable.
6294
6295 * doc/win32.html
6296 Add on how to set up the MSVCDir environment variable.
6297
6298 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6299
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.
6304
6305 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6306
6307 * tests/misc_test.c
6308 Bypass permission test if running as root because root is allowed to open
6309 a readonly file for write.
6310
6311 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6312
6313 * Win32/Makefile.msvc
6314 Added pvf.c and xi.c source files to project.
6315
6316 * src/sndfile.h
6317 Updated for PVF files.
6318
6319 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6320
6321 * src/sndfile.c
6322 Modified validate_sfinfo() to force samplerate, channels and sections
6323 to be >= 1.
6324 In format_from_extension() replaced calls to does_extension_match()
6325 with strcmp().
6326
6327 * src/xi.c
6328 More work.
6329
6330 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6331
6332 * doc/Makefile.am
6333 Added octave.html which had been left out. Found by Jan Weil.
6334
6335 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6336
6337 * src/pvf.c src/common.h src/sndfile.c
6338 Fixed error handling for PVF files.
6339
6340 * src/xi.c
6341 New file for handling Fasttracker 2 Extended Instrument files. Not working
6342 yet and included when configured with --enable-experimental.
6343
6344 * src/sndfile.c src/common.h
6345 Hooked in new file xi.c.
6346
6347 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6348
6349 * src/rx2.c
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.
6352
6353 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6354
6355 * src/wav.c
6356 Started work on decoding 'acid' and 'strc' chunks.
6357
6358 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6359
6360 * tests/peak_check_test.c
6361 Minor cleanup.
6362
6363 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6364
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.
6368
6369 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6370
6371 * doc/lists.html
6372 Added "mailto" links for all three lists.
6373
6374 * src/pvf.c
6375 New file for Portable Voice Format files.
6376
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.
6379
6380 * tests/write_read_test.tpl tests/std*.c
6381 Add tests for SF_FORMAT_PVF.
6382
6383 * doc/index.html
6384 Add PVF to the compatibility matrix.
6385
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.
6392
6393 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6394
6395 * src/sndfile.c
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.
6398
6399 * tests/raw_test.c
6400 Add bad_raw_test() to check for above problem.
6401
6402 * tests/stdin_test.c examples/sndfile-info.c
6403 Set the format field of the SF_INFO struct to zero before calling
6404 sf_open().
6405
6406 * doc/api.html
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.
6409
6410 * configure.ac
6411 Removed use of conversion script on Solaris. Not all Solaris versions
6412 support it.
6413
6414 * doc/lists.html
6415 New file containg details of the mailing lists.
6416
6417 * doc/index.html
6418 Add a link to the above new file.
6419
6420 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6421
6422 * tests/dft_cmp.c
6423 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
6424 for providing the gdb traceback.
6425
6426 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6427
6428 * src/wav.c
6429 Added more capabilities to 'smpl' chunk parser.
6430
6431 * src/sndfile.c
6432 Fixed some (not all) possible problems found with Flawfinder.
6433
6434 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6435
6436 * src/sndfile.c
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.
6440
6441 * src/file_io.c
6442 Win32's _fstati64() does not work, it returns BS. Re-implemented
6443 psf_get_filelen() in terms of psf_fseek().
6444
6445 * tests/write_read_test.tpl
6446 Add a test to detect above bug.
6447
6448 * src/float_cast.h
6449 Modification to prevent compiler warnings on Mac OS X.
6450
6451 * src/file_io.c
6452 Fixes for windows (what a f**ked OS).
6453
6454 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6455
6456 * configure.ac
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
6460 10.1.
6461
6462 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6463
6464 * configure.in configure.ac
6465 Renamed configure.in to configure.ac as expected by later versions of
6466 autoconf.
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.
6470
6471 * src/G72x/Makefile.am
6472 Slight hacking required for operation with automake 1.6.3.
6473
6474 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6475
6476 * src/common.c
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.
6480
6481 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6482
6483 * test/command_test.tpl
6484 Changed test value so test would pass on Solaris.
6485
6486 * src/Version_script.in
6487 Modified version numbering so that later versions of 1.0.X can replace
6488 earlier versions without recompilation.
6489
6490 * src/vox_adpcm.c
6491 Fixed bug causing short reads.
6492
6493 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6494
6495 * test/floating_point_test.c
6496 Code cleanup using functions from util.c.
6497 Add test for IEEE replacement floats and doubles.
6498
6499 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6500
6501 * src/wav.c
6502 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
6503 Serg Repalov for the example file.
6504
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().
6508
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
6513 replace_write_*.
6514
6515 * tests/util.tpl
6516 Added string_in_log_buffer().
6517
6518 * tests/pcm_test.tpl
6519 Use string_in_log_buffer() to ensure that IEEE replacement code has been
6520 used.
6521
6522 * configure.in
6523 Removed --enable-force-broken-float option. IEEE replacement code is now
6524 always tested.
6525
6526 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6527
6528 * src/double64.c
6529 Implement code for read/writing IEEE doubles on platforms where the native
6530 double format is not IEEE.
6531
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
6535 in src/double64.c.
6536
6537 * src/common.c
6538 Fix all usage of float32_write().
6539
6540 * src/sndfile.h.in
6541 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
6542
6543 * src/common.h
6544 Added SF_PRIVATE field ieee_replace.
6545
6546 * src/sndfile.c
6547 In sf_command() set/reset psf->ieee_replace.
6548
6549 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6550
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.
6555
6556 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6557
6558 * src/file_io.c
6559 Added fix for Cygwin (suggested by Maros Michalik).
6560
6561 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6562
6563 * src/file_io.c
6564 Improved error detection and handling.
6565
6566 * src/file_io.c src/common.h
6567 Removed functions psf_ferror() and psf_clearerr() which were redundant
6568 after above improvements.
6569
6570 * src/aiff.c src/svx.c src/w64.c src/wav.c
6571 Removed all use of psf_ferror() and psf_clearerr().
6572
6573 * src/sndfile.c
6574 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
6575 are no longer needed.
6576
6577 * tests/misc_test.c
6578 Added test to make sure the correct error message is returned with an
6579 existing read-only file is openned for write.
6580
6581 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6582
6583 * doc/index.html doc/api.html
6584 Updated for OKI Dialogic ADPCM files.
6585
6586 * src/command.c
6587 Added VOX ADPCM to sub_fomats.
6588
6589 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6590
6591 * src/vox_adpcm.c src/Makefile.am
6592 New file for handling OKI Dialogic ADPCM files.
6593
6594 * src/sndfile.h
6595 Add new subtype SF_FORMAT_VOX_ADPCM.
6596
6597 * src/sndfile.c
6598 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
6599 its functionality to detect headerless VOX files.
6600
6601 * src/raw.c
6602 Added hooks for SF_FORMAT_VOX_ADPCM.
6603
6604 * examples/sndfile-info.c
6605 Print out file duration (suggested by Conrad Parker).
6606
6607 * libsndfile.spec.in
6608 Force installation of sndfile.pc file (found by John Thompson).
6609
6610 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
6611 Add tests for SF_FORMAT_VOX_ADPCM.
6612
6613 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6614
6615 * tests/misc_test.c
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.
6618
6619 * src/sndfile.c
6620 Return correct error message if the header cannot be written because the
6621 filesystem is full.
6622
6623 * tests/util.tpl
6624 Corrected printing of file mode in error reporting.
6625
6626 * src/mat5.c
6627 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
6628 Octave 2.1.36.
6629
6630 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6631
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.
6635
6636 * src/*.c
6637 Updated for compatibility with above changes.
6638
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.
6643
6644 * examples/Makefile.am
6645 Hooked cooledit-fixer into the build system.
6646
6647 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6648
6649 * doc/command.html
6650 Document SFC_GET_FORMAT_INFO.
6651
6652 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6653
6654 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
6655 examples/sfdump.c
6656 Removed these files because they weren't interesting.
6657
6658 * examples/sfconvert.c examples/sndfile-convert.c
6659 Renamed the first to the latter.
6660
6661 * examples/Makefile.am
6662 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
6663 is installed.
6664 Removed old programs wav32_aiff24 and sndfile2oct.
6665
6666 * man/sndfile-convert.1
6667 New man page.
6668
6669 * examples/sndfile-convert.c
6670 Added some gloss now that sndfile-convert.c is an installed program.
6671
6672 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
6673 Added command SFC_GET_FORMAT_INFO.
6674
6675 * tests/command_test.c
6676 Added tests form SFC_GET_FORMAT_INFO.
6677
6678 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6679
6680 * src/sndfile.c
6681 In sf_format_check() return error if samplerate < 0.
6682
6683 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6684
6685 * src/aiff.c
6686 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
6687 encoding string.
6688
6689 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6690
6691 * src/sndfile.c
6692 Fixed repeated word in an error message.
6693
6694 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6695
6696 * doc/index.html
6697 Improved advertising in Features section.
6698
6699 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6700
6701 * src/wav.c
6702 Added decoding of 'labl' chunks within 'LIST' chunks.
6703
6704 * src/common.h
6705 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
6706 of ogg_open(). This is nowhere near working yet.
6707
6708 * src/sndfile.c
6709 Added detection of 'OggS' file marker and added call to ogg_open() to
6710 switch statement.
6711
6712 * src/ogg.c
6713 New file. Very early start of Ogg Vorbis support.
6714
6715 * src/wav.c
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
6719 floating point.
6720
6721 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6722
6723 * configure.in
6724 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
6725 config.h to either 0 or 1.
6726
6727 * src/sndfile.c
6728 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
6729 string if experimental code has been enabled.
6730
6731 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6732
6733 * src/Makefile.am
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.
6736
6737 * tests/Makefile.am examples/Makefile.am
6738 Removed -lm from all link lines.
6739
6740 * sndfile.pc.in
6741 Removed -lm from Libs line.
6742
6743 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6744
6745 * src/file_io.c
6746 Removed all perror() calls.
6747
6748 * src/nist.c
6749 Removed calls to exit() function.
6750 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
6751 conversion process.
6752
6753 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6754
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.
6760
6761 * doc/api.html
6762 Documented above changes.
6763
6764 * tests/*.c examples/*.c
6765 Changed to new error functions.
6766
6767 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6768
6769 * configure.in
6770 Detect GCC version, and print a warning message about writeable strings
6771 it GCC major version number is less than 3.
6772
6773 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6774
6775 * src/sndfile.h.in doc/api.html
6776 Documentation fixes.
6777
6778 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6779
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.
6783
6784 * src/float_cast.h
6785 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
6786 compiler.
6787
6788 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
6789 src/ms_adpcm.c
6790 Fix benign compiler warnings arising from previously added compiler
6791 flags.
6792
6793 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6794
6795 * src/sndfile.c
6796 Fixed a bug in sf_error_str() where errnum was used as the index instead
6797 of k. Found by Tim Hockin.
6798
6799 * examples/sndfile-play.c
6800 Fixed a compiler warning resulting from a variable shadowing a previously
6801 defined local.
6802
6803 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6804
6805 * src/sndfile.h.in src/sndfile.c
6806 Added command SFC_SET_RAW_START_OFFSET.
6807
6808 * doc/command.html
6809 Document SFC_SET_RAW_START_OFFSET.
6810
6811 * tests/raw_test.c tests/Makefile.am
6812 Add new file for testing SF_FORMAT_RAW specific functionality.
6813
6814 * tests/dwvw_test.c
6815 Updates.
6816
6817 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6818
6819 * src/wav.c
6820 Modified reading of 'smpl' chunk to take account of the sampler data field.
6821
6822 * tests/utils.tpl tests/utils.h
6823 Added function print_test_name().
6824
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().
6828
6829 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6830
6831 * doc/octave.html
6832 Added a link to some other Octave scripts for reading and writing sound
6833 files.
6834
6835 * src/paf.c
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.
6839
6840 * src/rx2.c
6841 More hacking.
6842
6843 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6844
6845 * src/mat5.c src/common.c
6846 Changed usage of snprintf() to LSF_SNPRINTF().
6847
6848 * Win32/Makefile.msvc
6849 Updated to include new files and add new tests.
6850
6851 * Win32/config.h Win32/sndfile.h
6852 Updated.
6853
6854 * doc/api.html
6855 Added note about the possibility of "missing" features actually being
6856 implemented as an sf_command().
6857
6858 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6859
6860 * tests/misc_test.c
6861 Added previously missing update_header_test and zero_data_tests for PAF,
6862 MAT4 and MAT5 formats.
6863
6864 * src/paf.c src/mat4.c src/mat5.c
6865 Fixed bugs uncovered by new tests above.
6866
6867 * src/mat5.c
6868 Generalised parsing of name fields of MAT5 files.
6869
6870 * src/mat5.c src/sndfile.c
6871 Added support for unsigned 8 bit PCM MAT5 files.
6872
6873 * tests/write_read_test.tpl
6874 Added test for unsigned 8 bit PCM MAT5 files.
6875
6876 * doc/index.html
6877 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
6878
6879 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6880
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
6886 of Muse.
6887
6888 * src/aiff.c
6889 Removed superfluous cast.
6890
6891 * src/wav.c src/svx.c
6892 Fixed case of file generated with no data.
6893 Removed superfluous cast.
6894
6895 * src/sndfile.c
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/).
6899
6900 * configure.in
6901 Added Octave directory.
6902
6903 * Octave/Makefile.ma
6904 New Makfile.am for Octave directory.
6905
6906 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
6907 New files for working with Octave.
6908
6909 * doc/octave.html
6910 Document explaining the use of the above three Octave scripts.
6911
6912 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6913
6914 * src/sndfile.c
6915 Fixed bug in RDWR mode.
6916
6917 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6918
6919 * src/common.c
6920 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
6921 gmtime().
6922
6923 * src/file_io.c
6924 Added #include <io.h> for Win32. Reported by Koen Tanghe.
6925
6926 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6927
6928 * src/common.c
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
6932 header.
6933 Added function psf_get_date_str().
6934
6935 * src/mat5.c
6936 Complete read and write support.
6937
6938 * doc/index.html
6939 Added entries for MAT4 and MAT5 in capabilities matrix.
6940
6941 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6942
6943 * src/mat4.c
6944 Completed read and write support.
6945
6946 * src/common.h src/sndfile.c
6947 Added MAT4 and MAT5 specific error messages.
6948
6949 * tests/write_read_test.tpl tests/Makefile.am
6950 Added tests for MAT4 and MAT5 files.
6951
6952 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
6953 Added tests for MAT4 and MAT5 files.
6954
6955 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6956
6957 * src/command.c
6958 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
6959 array.
6960
6961 * examples/sfconvert.c
6962 Added mat4 and mat5 output targets.
6963
6964 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6965
6966 * src/sndfile.c
6967 Added check to prevent errors openning read only formats for read/write.
6968
6969 * src/interleave.c
6970 New file for interleaving non-interleaved data. Non-interleaved data is
6971 only supported on read.
6972
6973 * src/Makefile.am
6974 Added src/interleave.c to build.
6975
6976 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6977
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().
6981
6982 * src/common.c
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
6986 headers.
6987
6988 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6989
6990 * src/mat5.c
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
6993 used for testing.
6994 Not complete yet.
6995
6996 * src/mat4.c
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
6999 used for testing.
7000 Not complete yet.
7001
7002 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
7003 Mods to add Matlab files.
7004
7005 * src/common.[ch]
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.
7009
7010 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7011
7012 * src/file_io.c
7013 Check return value of close() call in psf_fclose().
7014
7015 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7016
7017 * src/ms_adpcm.c
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.
7020
7021 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7022
7023 * doc/command.html
7024 Fixed typo found by Tommi Ilmonen.
7025
7026 * src/ima_adpcm.c
7027 Changed type of diff from short to int to prevent errors which can occur
7028 during very rare circumstances. Thanks to FUWAFUWA.
7029
7030 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7031
7032 * tests/floating_point_test.c
7033 Disable testing on machines without lrintf().
7034
7035 * Win32/Makefile.msvc
7036 Added dwd.c and wve.c to build.
7037
7038 * configure.in
7039 Bumped version to 1.0.0.
7040
7041 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7042
7043 * src/file_io.c
7044 Add a #include for Mac OS 9. Thanks to Stephane Letz.
7045
7046 * src/wav.c
7047 Changed an snprintf to LSF_SNPRINTF.
7048
7049 * doc/Makefile.am
7050 Added version-1.html.
7051
7052 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7053
7054 * configure.in
7055 Bumped version to 1.0.rc6.
7056
7057 * src/*.c
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
7067 to avoid.
7068
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.
7072
7073 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7074
7075 * src/txw.c
7076 Completed reading of TXW files. Seek doesn't work yet.
7077
7078 * src/file_io.c
7079 Added a MacOS 9 replacement for ftruncate().
7080
7081 * MacOS/sndfile.h
7082 Added MacOS 9 header file. This should be copied into src/ to compile
7083 libsndfile for MacOS9.
7084
7085 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7086
7087 * src/sndfile.c
7088 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
7089 values after being set. Reported by Jussi Laako.
7090
7091 * configure.in
7092 If autogen is not found, touch all .c and .h files in tests/.
7093
7094 * src/common.c
7095 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
7096
7097 * src/dwd.c
7098 Completed implementation of read only access to these files.
7099
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.
7103
7104 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7105
7106 * src/wve.c
7107 New file implementing read of Psion Alaw files. This will be a read only
7108 format. Implementation complete.
7109
7110 * src/dwd/c
7111 Started implementation of DiamondWare Digitized files. Also read only, not
7112 complete.
7113
7114 * src/wav.c
7115 Add parsing of 'smpl' chunk.
7116
7117 * src/paf.c
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].
7121
7122 * src/common.c
7123 Modified psf_log_printf() to accept the %% conversion specifier to allow
7124 printing of a single '%'.
7125
7126 * src/sds.c
7127 Read only of 16 bit samples is working. Need to build a test harness for
7128 this and other read only formats.
7129
7130 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7131
7132 * configure.in
7133 Added --enable-experimental configure option.
7134 Removed pkg-config message at the end of the configure process.
7135
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.
7140
7141 * Win32/sndfile.h src/sndfile.h.in src/common.h
7142 Removed un-necessary #pragma pack commands.
7143
7144 * src/file_io.c
7145 Implemented psf_ftruncate() and much other hacking for Win32.
7146
7147 * Win32/Makefile.msvc
7148 Updated.
7149
7150 * doc/win32.html
7151 Updated to include the copying of the sndfile.h file from the Win32/
7152 directory to the src/ directory.
7153
7154 * Make.bat
7155 Batch file to make compiling on Wi32 a little easier. Implements "make" and
7156 "make check".
7157
7158 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7159
7160 * src/file_io.c
7161 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
7162 This will need to be fixed later.
7163
7164 * src/sndfile.h.in
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.
7167
7168 * configure.in
7169 Modified to find a good type for TYPEOF_SF_COUNT_T.
7170
7171 * src/aiff.c
7172 Fixed a bug when reading malformed headers.
7173
7174 * src/common.c
7175 Set read values to zero before performing read.
7176
7177 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7178
7179 * doc/command.html
7180 Fixed some HTML tags which were not allowing jumps to links within the
7181 page.
7182
7183 * src/sds.c
7184 Massive hacking on this.
7185
7186 * src/wav.c
7187 Added recognition of 'clm ' tag.
7188
7189 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7190
7191 * doc/index.html
7192 Added beginning of a capabilities list beyond simple file formats which
7193 can be read/written.
7194
7195 * src/aiff.c
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().
7199
7200 * src/wav.c
7201 Added parsing of 'cue ' chunk which contains loop information in WAV files.
7202
7203 * exampes/sndfile-info.c
7204 Changed reporting of Samples to Frames.
7205
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.
7208
7209 * doc/FAQ.html
7210 What's the best format for storing temporary files?
7211
7212 * src/sds.c
7213 New file for reading/writing Midi Sample Dump Standard files.
7214
7215 * src/Makefile.am src/sndfile.c src/common.[ch]
7216 Added hooks for sds.c.
7217
7218 * examples/sndfile-info.c
7219 Changed from using sf_perror() to using sf_error_str().
7220
7221 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7222
7223 * doc/api.html
7224 Added explanation of mode parameter for sf_open().
7225 Added explanation of usage of SFM_* values in sf_seek().
7226
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.
7230
7231 * src/command.html
7232 Documented SFC_FILE_TRUNCATE.
7233
7234 * tests/command_test.c
7235 Add tests for SFC_FILE_TRUNCATE.
7236
7237 * src/sndfile.c
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.
7241
7242 * src/pcm.c
7243 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
7244 occurred.
7245
7246 * tests/write_read_test.tpl
7247 Added tests of internal error state.
7248
7249 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7250
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).
7254
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).
7258
7259 * MacOS/config.h
7260 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
7261 float_cash.h.
7262
7263 * src/sndfile.h
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.
7267
7268 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7269
7270 * doc/index.html
7271 Updated formats matrix to include RAW (header-less) GSM 6.10.
7272 Fix specificaltion of table and spelling mistakes.
7273
7274 * src/sndfile.c src/command.c
7275 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
7276
7277 * tests/command.c
7278 Removed cruft.
7279 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
7280
7281 * configure.in
7282 Update version to 1.0.0rc5.
7283
7284 * sfendian.h
7285 Removed inclusion of un-necessary header.
7286
7287 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7288
7289 * src/aiff.c
7290 Minor fixes of info written to log buffer.
7291
7292 * src/float_cast.h
7293 Add definition of HAVE_LRINT_REPLACEMENT.
7294
7295 * tests/floating_point_test.c
7296 Fix file hash check on systems without lrint/lrintf.
7297
7298 * tests/dft_cmp.c
7299 Limit SNR to less than -500.0dB.
7300
7301 * examples/sndfile2oct.c
7302 Fixed compiler warnings.
7303
7304 * doc/api.html
7305 Fixed error where last parameter of sf_error_str() was sf_count_t instead
7306 of size_t.
7307
7308 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7309
7310 * doc/FAQ.html
7311 Why doesn't libsndfile do interleaving/de-interleaving.
7312
7313 * tests/pcm_test.tpl
7314 On Win32 do not perform hash check on files containing doubles.
7315
7316 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7317
7318 * src/common.h
7319 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
7320 of type sf_count_t to their maximum positive value.
7321
7322 * src/dwvw.c src/w64.c
7323 Used SF_COUNT_MAX_POSITIVE().
7324
7325 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7326
7327 * src/paf.c
7328 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
7329
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
7333 warning.
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.
7336
7337 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7338
7339 * src/wav.c
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.
7343
7344 * src/w64.c
7345 Added fix to allow differentiation between W64 files and ACID files.
7346
7347 * src/au_g72x.c src/common.h src/sndfile.c
7348 Added error for G72x encoded files with more than one channel.
7349
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.
7353
7354 * src/wav.c
7355 Fixed problem writing the 'fact' chunk on big endian systems.
7356
7357 * tests/sfconvert.c
7358 Fixed bug where .paf files were being written as Sphere NIST.
7359
7360 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7361
7362 * src/voc.c
7363 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
7364
7365 * doc/command.html
7366 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
7367
7368 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7369
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.
7373
7374 * configure.in man/Makefile.am
7375 Hooked manpages into autoconf/automake system.
7376
7377 * src/sndfile.c
7378 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
7379
7380 * tests/update_header_test.c
7381 Improved rigor of testing.
7382
7383 * src/*.c
7384 Fixed problem with *_write_header() functions.
7385
7386 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7387
7388 * doc/*.html
7389 Updates to documentation to fix problems found by wdg-html-validator.
7390
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().
7394
7395 * src/sndfile.c
7396 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
7397 SFC_CALC_NORM_MAX_ALL_CHANNELS.
7398
7399 * doc/command.html
7400 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
7401
7402 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7403
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
7407 Win32.
7408
7409 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7410
7411 * doc/FAQ.html
7412 New file for frequently asked questsions.
7413
7414 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7415
7416 * doc/api.html
7417 Documentation fixes.
7418
7419 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
7420 Add support of 40kbps G723 ADPCM encoding.
7421
7422 * tests/lossy_comp_test.c tests/floating_point_test.c
7423 Add tests for 40kbps G723 ADPCM encoding.
7424
7425 * doc/index.html
7426 Update support matrix.
7427
7428 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7429
7430 * doc/command.html
7431 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
7432 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
7433
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.
7437
7438 * src/sndfile.[ch] src/common.h src/command.c
7439 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
7440 Puxeddu.
7441
7442 * doc/command.html
7443 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
7444
7445 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7446
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.
7450
7451 * src/wav.c
7452 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
7453
7454 * src/api.html
7455 Fixed more documentation bugs.
7456
7457 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7458
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.
7463
7464 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7465
7466 * src/aiff.c src/wav.c
7467 Fixed file parsing for WAV and AIFF files containing non-audio data after
7468 the data chunk.
7469
7470 * src/aiff.c src/sndfile.c
7471 Add support for GSM 6.10 encoded AIFF files.
7472
7473 * tests/lossy_comp_test.c tests/Makefile.am
7474 Add tests for GSM 6.10 encoded AIFF files.
7475
7476 * src/*.c
7477 Fix compiler warnings.
7478
7479 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7480
7481 * tests/command_test.c
7482 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
7483 SF_FORMAT_RAW.
7484
7485 * src/sndfile.c
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.
7488
7489 * src/common.h
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
7493
7494 * src/aiff.c src/wav.c
7495 Begin implementation of XXXX_command() hook for sf_command().
7496
7497 * tests/write_read_test.tpl
7498 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
7499 working.
7500
7501 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7502
7503 * tests/update_header_test.c
7504 Allow read sample count == write sample count - 1 to fix problems with VOC
7505 files.
7506
7507 * tests/write_read_test.tpl tests/pcm_test.tpl
7508 Fixed some problems in the test suite discovered by using Valgrind.
7509
7510 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7511
7512 * tests/utils.[ch] tests/*.c
7513 Renamed check_log_buffer() to check_log_buffer_or_die().
7514
7515 * src/sndfile.c
7516 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
7517 for all file formats other than VOC.
7518
7519 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7520
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.
7525
7526 * tests/update_header_test.c
7527 New test program to test that the above functionality is working correctly.
7528
7529 * tests/peak_chunk_test.c tests/floating_point_test.c
7530 Cleanups.
7531
7532 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7533
7534 * src/sfendian.[ch]
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.
7540
7541 * examples/sndfile-play.c
7542 More playback hacking for Win32.
7543
7544 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7545
7546 * src/common.c
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.
7549
7550 * src/*.c
7551 Changed all usage of psf_log_printf() with %D format conversion specifiers
7552 to use %M conversion instead.
7553
7554 * tests/pcm_test.tpl tests/pcm_test.def
7555 New files to autogen pcm_test.c.
7556
7557 * src/pcm.c
7558 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
7559
7560 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7561
7562 * configure.in
7563 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
7564 values for CFLAGS.
7565
7566 * examples/sndfile-play.c
7567 Start adding playback support for Win32.
7568
7569 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7570
7571 * src/*.c
7572 Worked to removed compiler warnings.
7573 Extensive refactoring.
7574
7575 * src/common.[ch]
7576 Added function psf_memset() which works like the standard C function memset
7577 but takes and sf_count_t as the length parameter.
7578
7579 * src/sndfile.c
7580 Replaced calls to memset(0 with calls to psf_memset() as required.
7581
7582 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7583
7584 * src/sndfile.c
7585 Added "libsndfile : " to the start of all error messages. This was suggested
7586 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
7587
7588 * src/sfendian.[ch]
7589 Added endswap_XXXX_copy() functions.
7590
7591 * src/pcm.c src/float32.c src/double64.c
7592 Use endswap_XXXX_copy() functions and removed dead code.
7593 Cleanups and optimisations.
7594
7595 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7596
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.
7601
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.
7605
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.
7609
7610 * src.pcm.c
7611 Changed tribyte typedef to something more sensible.
7612 Further conversion speed ups.
7613
7614 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7615
7616 * src/command.c
7617 In major_formats rename "Sphere NIST" to "NIST Sphere".
7618
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.
7624
7625 * src/common.h src/sfendian.h
7626 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
7627
7628 * src/Makefile.am
7629 Add sfendian.c to build targets.
7630
7631 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7632
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.
7636
7637 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7638
7639 * src/wav.c
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.
7643
7644 * tests/benchmark.tpl
7645 Added more tests.
7646
7647 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7648
7649 * tests/benchmark.tpl
7650 Added conditional definition of M_PI.
7651 For Win32, set WRITE_PERMS to 0777.
7652
7653 * Win32/Makefile.msvc
7654 Added target to make generate program on Win32.
7655
7656 * src/samplitude.c
7657 Removed handler for Samplitude RAP file format. This file type seems rarer
7658 than hens teeth and is completely undocumented.
7659
7660 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
7661 Removed references to sampltiude RAP format.
7662
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.
7668
7669 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7670
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.
7674
7675 * tests/benchmark.c
7676 Now and Autogen output file.
7677
7678 * tests/Makefile.am
7679 Updated for above changes.
7680
7681 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7682
7683 * tests/benchmark.c
7684 Basic benchmark program complete. Need to convert it to Autogen.
7685
7686 * Win32/Makefile.msvc
7687 Added benchmark.exe target.
7688
7689 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7690
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.
7694
7695 * tests/benchmark.c
7696 New test program to benchmark libsndfile. Nowhere near complete yet.
7697
7698 * examples/Makefile.am tests/Makefile.am
7699 New make rules for the two new programs.
7700
7701 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7702
7703 * Win32/libsndfile.def
7704 Removed definition for sf_signal_max().
7705
7706 * src/sndfile.c
7707 Removed cruft.
7708
7709 * doc/index.html
7710 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7711
7712 * doc/version-1.html
7713 Minor doc updates.
7714
7715 * configure.in
7716 Bumped version to 1.0.0rc2.
7717
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.
7721
7722 * doc/index.html
7723 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7724
7725 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7726
7727 * src/common.h
7728 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
7729 on Win32..
7730
7731 * src/file_io.c
7732 Win32 fixes to ensure O_BINARY is used for file open.
7733
7734 * doc/win32.html
7735 New file documenting the building libsndfile on Win32.
7736
7737 * doc/*.html
7738 Updating of documentation.
7739
7740 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7741
7742 * tests/pcm_test.c
7743 Minor changes to allow easier determination of test file name.
7744
7745 * src/sndfile.[ch]
7746 Removed function sf_signal_max().
7747
7748 * examples/sndfile-play.c
7749 Changed call to sf_signal_max() to a call to sf_command().
7750
7751 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7752
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.
7756
7757 * src/sndfile.c src/sndfile.h
7758 Removed function sf_get_signal_max() which is replaced by commands passed
7759 to sf_command().
7760
7761 * src/command.c
7762 Implement commands SFC_CALC_SIGNAL_MAX.
7763
7764 * doc/command.html
7765 Documented SFC_CALC_SIGNAL_MAX.
7766
7767 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7768
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.
7772
7773 * src/format.c
7774 Added SF_FORMAT_DWVW_* to subtype_formats array.
7775
7776 * src/nist.c
7777 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
7778 Kumria.
7779
7780 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7781
7782 * examples/sndfile-info.c
7783 Tidy up of output format.
7784
7785 * examnples/sndfile-play.c
7786 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
7787
7788 * configure.in
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.
7792
7793 * examples/Makefile.am
7794 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
7795 sndfile-play.
7796
7797 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7798
7799 * src/nist.c
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
7802 Kumria.
7803
7804 * src/sndfile.c
7805 Support for A-law and u-law NIST files.
7806
7807 * tests/Makefile.am tests/lossy_comp_test.c
7808 Tests for A-law and u-law NIST files.
7809
7810 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7811
7812 * tests/utils.c
7813 Fixed an error in error string.
7814
7815 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7816
7817 * acinclude.m4
7818 Removed exit command to allow cross-compiling.
7819
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.
7824
7825 * src/sd2.c, src/sndfile.c:
7826 Fixes for Sound Designer II files on big endian systems.
7827
7828 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7829
7830 * configure.in
7831 Modified to work around problems with crappy MacOSX version of sed.
7832 Added sanity check for proper values for CFLAGS.
7833
7834 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7835
7836 * src/sndfile.c
7837 Code clean up in sf_open ().
7838
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.
7842
7843 * src/file_io.c
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.
7846
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.
7850
7851 * src/wav.c src/w64.c
7852 Fixed bug casuing incorrect header generation when opening file read/write.
7853
7854 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7855
7856 * doc/api.html
7857 Improved the documentation to make it clearer that the file read method
7858 and the underlying file format are completely disconnected. Suggested
7859 by Josh Green.
7860
7861 * doc/command.html
7862 Started correcting docs to take into account changes made to the
7863 operations of the sf_command () function. Not complete yet.
7864
7865 * src/sndfile.c
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.
7873
7874 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7875
7876 * ltmain.sh
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.
7880
7881 * src/GSM610/private.h
7882 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
7883
7884 * src/float_cast.h
7885 Added MacOSX replacements for lrint() and lrintf().
7886
7887 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7888
7889 * src/sndfile.c
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().
7893
7894 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7895
7896 * src/wav.c
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.
7899
7900 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7901
7902 * configure.in
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
7905 libsndfile.
7906
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.
7911
7912 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7913
7914 * src/wav.c
7915 Fixed minor bug in handling of so-called ACIDized WAV files.
7916
7917 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7918
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!
7923
7924 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7925
7926 * configure.in
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.
7930
7931 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7932
7933 * configure.in
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.
7938
7939 * configure.in
7940 Changed to automake version 1.5 to try and make a tarball which will
7941 work on MacOSX.
7942
7943 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7944
7945 * src/wav_gsm610.c
7946 Changed name to gsm610.c. Added reading/writing of headerless files.
7947
7948 * src/sndfile.c src/raw.c
7949 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
7950
7951 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7952
7953 * tests/lossy_comp_test.c
7954 Clean up in preparation for Autogen-ing this file.
7955
7956 * src/GSM610/*.[ch]
7957 Code cleanup and prepartion forgetting file seek working. Details in
7958 src/GSM610/ChangeLog.
7959
7960 * sndfile.pc.in
7961 Testing complete. Is sndfile.m4 still needed?
7962
7963 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7964
7965 * tests/write_read_test.tpl tests/rdwr_test.tpl
7966 Merged tests from these two programs into write_read_test.tpl and deleted
7967 rdwr_test.tpl.
7968
7969 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7970
7971 * src/w64.c src/svx.c src/paf.c
7972 Fixed bugs in read/write mode.
7973
7974 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7975
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
7979 sndfile-programs.
7980
7981 * sndfile.pc.in
7982 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
7983 model for providing installation parameters to dependant programs.
7984
7985 * src/sndfile.c
7986 Cleanup of code in sf_open().
7987
7988 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7989
7990 * tests/utils.tpl tests/write_read_test.tpl
7991 More conversion to Autogen fixes and enchancements.
7992
7993 * src/*.c
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.
7996
7997 * src/Makefile.am
7998 Added DISTCLEANFILES target to remove config.status and config.last.
7999
8000 * Win32/Makefile.am MacOS/Makefile.am
8001 Added DISTCLEANFILES target to remove Makefile.
8002
8003 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8004
8005 * src/*.[ch] tests/rdwr_test.c
8006 More verifying workings of read/write mode. Fixing bugs found.
8007
8008 * tests/utils.[ch]
8009 Made these files Autogen generated files.
8010
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!
8014
8015 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8016
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.
8020
8021 * tests/check_log_buffer.[ch] tests/utils.[ch]
8022 Moved check_log_buffer() to utils.[ch] and deleted old file.
8023
8024 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8025
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.
8031
8032 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8033
8034 * src/au.c
8035 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
8036 to allow opening files like this.
8037
8038 * tests/rdwr_test .c
8039 Added more tests.
8040
8041 * src/sndfile.c
8042 Fixed bugs in read/write mode found due to improvements in the test
8043 program.
8044
8045 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8046
8047 * tests/rdwr_test .c
8048 New file for testing read/write mode.
8049
8050 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8051
8052 * m4/*
8053 Removed all m4 macros from this directory as they get concatenated to form
8054 the file aclocal.m4 anyway.
8055
8056 * sndfile.m4
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".
8059
8060 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8061
8062 * src/float32.c
8063 Removed logging of peaks for all file formats other than AIFF and WAV.
8064
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.
8069
8070 * src/*.c
8071 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
8072
8073 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8074
8075 * doc/*.html
8076 Fixed documention versioning.
8077
8078 * configure.in
8079 Fixed a bug in the routines which search for Large File Support on systems
8080 which have large file support by defualt.
8081
8082 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8083
8084 * src/*.[ch]
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.
8089
8090 * tests/write_read_test.c
8091 Added tests to detect the above problem.
8092
8093 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8094
8095 * src/*.[ch]
8096 Finished base implementation of read/write mode. Much more testing still
8097 needed.
8098
8099 * m4/largefile.m4
8100 Macro for detecting Large File Standard capabilities. This macro was ripped
8101 out of the aclocal.m4 file of GNU tar-1.13.
8102
8103 * configure.in
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.
8107
8108 * libsndfile_convert_version.py
8109 A Python script which attempts to autoconvert code written to use version 0
8110 to version 1.
8111
8112 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8113
8114 * src/*.[ch]
8115 Finished base implementation of read/write mode. Much more testing still
8116 needed.
8117
8118 * tests/write_read_test.c
8119 Preliminary tests for read/write mode added. More needed.
8120
8121 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8122
8123 * src/sndfile.[ch]
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).
8128
8129 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8130
8131 * src/*.c
8132 Completed merging of separate xxx_open_read() and xxx_open_write()
8133 functions. All tests pass.
8134
8135 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8136
8137 * src/au.c
8138 Massive refactoring required to merge au_open_read() with au_open_write()
8139 to create au_open().
8140
8141 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8142
8143 * src/*.c
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().
8150
8151 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8152
8153 * src/file_io.c
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).
8158
8159 * src/*.c
8160 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
8161 with psf_write and so on.
8162
8163 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8164
8165 * src/dwvw.c
8166 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
8167
8168 * tests/floating_point_test.c
8169 Added tests for 12, 16 and 24 bit DWVW encoding.
8170
8171 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8172
8173 * m4/endian.m4
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.
8180
8181 * configure.in
8182 Modified to use AC_C_FIND_ENDIAN.
8183
8184 * src/sfendian.h
8185 Simplified.
8186
8187 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8188
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.
8192
8193 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8194
8195 * tests/dft_cmp.[ch]
8196 New files containing functions for comparing pre and post lossily
8197 compressed data using a quickly hacked DFT.
8198
8199 * tests/utils.[ch]
8200 New files containing functions for saving pre and post encoded data in a
8201 file readable by the GNU Octave package.
8202
8203 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8204
8205 * m4/lrint.m4 m4/lrintf.m4
8206 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
8207 is cached.
8208
8209 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8210
8211 * tests/floating_point_test.c
8212 Fixed improper use of strncat ().
8213
8214 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8215
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.
8219
8220 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8221
8222 * tests/losy_comp_test.c
8223 Added a test to ensure that the data read from a file is not all zeros.
8224
8225 * examples/sfconvert.c
8226 Added "-gsm610" encoding types.
8227
8228 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8229
8230 * examples/sfconvert.c
8231 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
8232
8233 * tests/dwvw_test.c
8234 New file for testing DWVW encoder/decoder.
8235
8236 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8237
8238 * src/dwvw.c
8239 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
8240
8241 * src/aiff.c
8242 Improved reporting of encoding types.
8243
8244 * src/voc.c
8245 Clean up.
8246
8247 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8248
8249 * src/dwvw.c
8250 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
8251 Reading 12 bit DWVW is now working.
8252
8253 * src/aiff.c common.h sndfile.c
8254 Added hooks for DWVW encoded AIFF and RAW files.
8255
8256 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8257
8258 * src/w64.c
8259 Robustify header parsing.
8260
8261 * src/wav_w64.h
8262 Header file wav.h was renamed to wav_w64.h to signify sharing of
8263 definitions across the two file types.
8264
8265 * src/wav.c src/w64.c src/wav_w64.c
8266 Refactoring.
8267 Modified and moved functions with a high degree of similarity between
8268 wav.c and w64.c to wav_w64.c.
8269
8270 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8271
8272 * src/w64.c
8273 Completed work on getting read and write working.
8274
8275 * examples/sfplay.c
8276 Added code to scale floating point data so it plays at a reasonable volume.
8277
8278 * tests/Makefile.am tests/write_read_test.c
8279 Added tests for W64 files.
8280
8281 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8282
8283 * src/*.c
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.
8288
8289 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8290
8291 * src/*.c
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.
8295
8296 * src/common.[ch]
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
8301 offsets.
8302
8303 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8304
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.
8310
8311 * tests/command_test.c
8312 Added test code for the above feature.
8313
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.
8318
8319 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8320
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.
8325
8326 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8327
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/).
8332
8333 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8334
8335 * src/sndfile.c
8336 Added checking of filename parameter in sf_open_read (). Previousy, if a
8337 NULL pointer was passed the library would segfault.
8338
8339 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8340
8341 * src/common.c src/common.h
8342 Changed the len parameter of the endswap_*_array () functions from type
8343 int to type long.
8344
8345 * src/pcm.c
8346 Fixed a problem which
8347
8348 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8349
8350 * src/sndfile.c
8351 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
8352 Paul Hartman for pointing this out.
8353
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>.
8356
8357 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8358
8359 * src/ircam.c
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.
8364
8365 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8366
8367 * src/aiff.c
8368 Added support for other AIFC types ('raw ', 'in32', '23ni').
8369 Further work on IMA ADPCM encoding.
8370
8371 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8372
8373 * src/ima_adpcm.c
8374 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
8375 encodings for both WAV and AIFF files.
8376
8377 * src/aiff.c
8378 Started adding IMA ADPCM support.
8379
8380 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8381
8382 * src/double.c
8383 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
8384 data.
8385
8386 * src/wav.c src/aiff.c src/au.c src/raw.c
8387 Added support for SF_FORMAT_DOUBLE data.
8388
8389 * src/common.[ch]
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 ().
8393
8394 * tests/pcm_test.c
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
8398 machine.
8399
8400 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8401
8402 * src/aiff.c
8403 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
8404 supplying example files.
8405
8406 * tests/lossy_comp_test.c
8407 Added tests for above.
8408
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,
8413 BeOS etc.
8414
8415 * src/common.[ch]
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
8420 offsets.
8421
8422 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8423
8424 * src/voc.c
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.
8427
8428 * src/write_read_test.c tests/lossy_comp_test.c
8429 Added tests for VOC files.
8430
8431 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8432
8433 * src/float_cast.h
8434 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
8435 Stephane Letz.
8436
8437 * src/voc.c
8438 More work on this braindamaged format. The VOC files produced by SoX also
8439 have a number of inconsistencies.
8440
8441 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8442
8443 * src/paf.c
8444 Added support for 8 bit PCM PAF files.
8445
8446 * tests/write_read_test.c
8447 Added tests for 8 bit PAF files.
8448
8449 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8450
8451 * tests/pcm_test.c
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.
8457
8458 * src/pcm.c src/paf.c
8459 Modified to pass the above test program.
8460
8461 * tests/write_read_test.c tests/lossy_comp_test.c
8462 Modified to work with the new scaling rules.
8463
8464 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8465
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.
8468
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.
8472
8473 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8474
8475 * src/*.[ch]
8476 Started implmentation of major changes documented in doc/version1.html.
8477
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).
8483
8484 --------------------------------------------------------------------------------
8485 This is the boundary between version 1 of the library above and version 0 below.
8486 --------------------------------------------------------------------------------
8487
8488 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8489
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
8493 for providing this.
8494
8495 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8496
8497 * examples/sfplay.c
8498 New example file showing how libsndfile can be used to read and play a
8499 sound file.
8500 At the moment on Linux is supported. Others will follow in the near future.
8501
8502 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8503
8504 * src/pcm.c
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
8507 pointing this out.
8508
8509 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8510
8511 * src/pcm.c
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.
8518
8519 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8520
8521 * src/au.c src/sndfile.c
8522 Added support for 32 bit float data in big and little endian AU files.
8523
8524 * tests/write_read_test.c
8525 Added tests for 32 bit float data in AU files.
8526
8527 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8528
8529 * tests/lossy_comp_test.c
8530 Finalised testing of stereo files where possible.
8531
8532 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8533
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.
8537
8538 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8539
8540 * src/wav_ms_adpcm.c
8541 Modified function srate2blocksize () to handle 44k1Hz stereo files.
8542
8543 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8544
8545 * src/w64.c
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.
8550
8551 * src/sndfile.[hc] src/common.h src/Makefile.am
8552 Added hooks for W64 support.
8553
8554 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8555
8556 * configure.in
8557 Added more warnings options to CFLAGS when the gcc compiler is detected.
8558
8559 * src/*.[ch] tests/*.c examples/*.c
8560 Started fixing the warning messages due to the new CFLASG.
8561
8562 * src/voc.c
8563 More work on VOC file read/writing.
8564
8565 * src/paf.c
8566 Found that PAF files were not checking the normalisation flag when reading
8567 or writing floats and doubles. Fixed it.
8568
8569 * tests/floating_point_test.c
8570 Added specific test for the above problem.
8571
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
8575
8576 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8577
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.
8581
8582 * src/float_cast.h
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.
8589
8590 * configure.in m4/lrint.m4 m4/lrintf.m4
8591 Add detection of these functions.
8592
8593 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8594
8595 * src/voc.c
8596 Completed code for reading VOC files containing a single audio data
8597 segment.
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.
8602
8603 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8604
8605 * src/common.h src/*.c
8606 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
8607
8608 * src/voc.c
8609 Further development of the read part of this woefult file format.
8610
8611 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8612
8613 * src/float_cast.h
8614 Implemented gcc and i386 floating point to int cast macros. Standard cast
8615 will be used when not on gcc for i385.
8616
8617 * src/pcm.c
8618 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
8619 comply with macros in float_cast.h.
8620
8621 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8622
8623 * src/voc.c
8624 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
8625 on MacOS with CodeWarrior 6.0.
8626
8627 * MacOS/MacOS-readme.txt
8628 Updated the compile instructions. Probably still need work as I don't have
8629 access to a Mac.
8630
8631 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8632
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.
8636
8637 * src/common.h
8638 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
8639 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
8640
8641 * src/missing.c
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
8645 available.
8646
8647 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8648
8649 * src/ircam.c
8650 New file to handle Berkeley/IRCAM/CARL files.
8651
8652 * src/sndfile.c src/common.h
8653 Modified for IRCAM handling.
8654
8655 * tests/*.c
8656 Added tests for IRCAM files.
8657
8658 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8659
8660 * src/wav.c
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
8664 files.
8665
8666 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8667
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.
8671
8672 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8673
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
8676 writing to stdout.
8677
8678 * src/sndfile.c wav.c au.c nist.c paf.c
8679 Fixed a bugs uncovered by the new test programs above.
8680
8681 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8682
8683 * src/sndfile.c wav.c
8684 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
8685
8686 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8687
8688 * src/common.h
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.
8694
8695 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8696
8697 * src/sndfile.c
8698 Implemented sf_command ("norm float").
8699
8700 * src/*.c
8701 Implemented handling of sf_command ("set-norm-float"). Float normalization
8702 can now be turned on and off.
8703
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.
8707
8708 * src/au_g72x.c
8709 Fixed bug in normalization code found with improved floating_point_test
8710 program.
8711
8712 * src/wav.c
8713 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
8714 text annotations from WAV files.
8715
8716 * src/aiff.c
8717 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
8718 text annotations from WAV files.
8719
8720 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8721
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.
8725
8726 * src/float_cast.h
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.
8730
8731 * src/*.c
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.
8735
8736 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8737
8738 * tests/command_test.c
8739 New file for testing sf_command () functionality.
8740
8741 * src/sndfile.c
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.
8745
8746 * src/common.h
8747 Added hook for format specific sf_command () calls to SNDFILE struct.
8748
8749 * doc/api.html
8750 Updated and errors corrected.
8751
8752 * doc/command.html
8753 New documentation file explaining new sf_command () function.
8754
8755 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8756
8757 * src/sndfile.c
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
8761 spotting this.
8762
8763 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8764
8765 * src/common.c
8766 Fixed use of va_arg() calls that were causing warning messages with the
8767 latest version of gcc (thanks Maurizio Umberto Puxeddu).
8768
8769 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8770
8771 * src/*.c src/sfendian.h
8772 Moved definition of MAKE_MARKER macro to sfendian.h
8773
8774 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8775
8776 * src/sndfile.c
8777 Modified sf_get_lib_version () so that version string will be visible using
8778 the Unix strings command.
8779
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.
8783
8784 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8785
8786 * tests/read_seek_test.c tests/lossy_comp_test.c
8787 Added tests for sf_read_float () and sf_readf_float ().
8788
8789 * src/voc.c
8790 New files for handling Creative Voice files (not complete).
8791
8792 * src/samplitude.c
8793 New files for handling Samplitude files (not complete).
8794
8795 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8796
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.
8800
8801 * src/*.[ch]
8802 Added code for sf_read_float () and sf_readf_float () methods of accessing
8803 file data.
8804
8805 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8806
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).
8810
8811 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8812
8813 * src/wav_gsm610.c
8814 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
8815 libsndfile from being played in Windoze (thanks klay).
8816
8817 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8818
8819 * src/common.[ch]
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.
8823
8824 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8825
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
8829 broken.
8830
8831 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8832
8833 * src/float32.c
8834 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
8835 tested on Intel x86 and UltraSparc processors.
8836
8837 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8838
8839 * src/aiff.c
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
8846 data is unknown.
8847
8848 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8849
8850 * src/wav.c
8851 Fixed endian bug when reading PEAK chunk on big endian machines.
8852
8853 * src/common.c
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 ||______)
8857
8858 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8859
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.
8865
8866 * src/float32.c
8867 Rejigged code reading and writing of floats on broken processors.
8868
8869 * m4/
8870 Removed this directory and all its files as they are no longer needed.
8871
8872 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8873
8874 * tests/peak_chunk_test.c
8875 New test to validate reading and writing of peak chunk.
8876
8877 * examples/sfconvert
8878 Added -float32 option.
8879
8880 * src/*.c
8881 Changed all error return values to negative values (ie the negative of what
8882 they were).
8883
8884 * src/sndfile.c tests/error_test.c
8885 Modified to take account of the previous change.
8886
8887 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8888
8889 * src/float32.c
8890 File renamed from wav_float.c and renamed function to something more
8891 general.
8892 Added runtime detection of floating point capabilities.
8893 Added recording of peaks during write for generation of PEAK chunk.
8894
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).
8900
8901 * src/sndfile.c
8902 Modified sf_signal_max () to use PEAK values if present.
8903
8904 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8905
8906 * src/*.c
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.
8909
8910 * src/*.c
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.
8914
8915 * tests/write_read_test.c
8916 Added tests to validate sf_seek () on all file types.
8917
8918 * src/raw.c
8919 Implemented raw_seek () function to fix a bug where
8920 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
8921
8922 * src/paf.c
8923 Fixed a bug in paf24_seek () found due to added seeks tests in
8924 tests/write_read_test.c
8925
8926 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8927
8928 * tests/read_seek_test.c
8929 Fixed a couple of broken binary files.
8930
8931 * src/aiff.c src/wav.c
8932 Added handling of PEAK chunks on file read.
8933
8934 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8935
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
8941 log buffer.
8942
8943 * check_libsndfile.list
8944 This is an example list of audio files for use with check_libsndfile.py
8945
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.
8950
8951 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8952
8953 * src/common.[ch]
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
8958
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 ()
8962 if any are found.
8963
8964 * tests/*.c
8965 Added calls to check_log_buffer () after each call to sf_open_XXX ().
8966
8967 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8968
8969 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
8970 Major rehack of header writing using psf_binheader_writef ().
8971
8972 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8973
8974 * src/wav.c src/wav_ima_adpcm.c
8975 Major rehack of header writing using psf_binheader_writef ().
8976
8977 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8978
8979 * src/wav.c
8980 Changed return type of get_encoding_str () to prevent compiler warnings on
8981 Mac OSX.
8982
8983 * src/aiff.c src/au.c
8984 Major rehack of header writing using psf_binheader_writef ().
8985
8986 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8987
8988 * src/common.h src/common.c
8989 Added comments.
8990 Name of log buffer changed from strbuffer to logbuffer.
8991 Name of log buffer index variable changed from strindex to logindex.
8992
8993 * src/*.[ch]
8994 Changed name of internal logging function from psf_sprintf () to
8995 psf_log_printf ().
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
9000 psf_header_setf ().
9001
9002 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9003
9004 * src/nist.c
9005 Fixed reading and writing of sample_byte_format header. "01" means little
9006 endian and "10" means big endian regardless of bit width.
9007
9008 * configure.in
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
9011 headers.
9012 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
9013 easier debugging.
9014 Made decision to harmonise source code version number and .so library
9015 version number. Future releases will stick to this rule.
9016
9017 * doc/new_file_type.HOWTO
9018 New file to document the addition of new file types to libsndfile.
9019
9020 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9021
9022 * src/nist.c
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.
9030
9031 * src/common.h src/common.c
9032 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
9033
9034 * configure.in
9035 Added test for vsnprintf () required by psf_ah_printf ().
9036
9037 * tests/write_read_test.c
9038 Added tests for supported NIST files.
9039
9040 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9041
9042 * tests/write_read_test.c
9043 Added tests for little endian AIFC files.
9044
9045 * src/aiff.c
9046 Minor re-working of aiff_open_write ().
9047 Added write support for little endian PCM encoded AIFC files.
9048
9049 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9050
9051 * src/aiff.c
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.
9057
9058 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9059
9060 * src/sndfile.h
9061 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
9062 pointed out the error.
9063
9064 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9065
9066 * examples/make_sine.c
9067 Re-write of this example using sample rate and required frequency in Hz.
9068
9069 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9070
9071 * src/sndfile.c
9072 Fixed bug that prevented known file types from being read as RAW PCM data.
9073
9074 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9075
9076 * src/aiff.c
9077 Added handing of COMT chunk.
9078
9079 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9080
9081 * examples/sfconvert.c
9082 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
9083
9084 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9085
9086 * Win32/config.h
9087 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
9088
9089 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9090
9091 * tests/Makefile.am
9092 Added -lm for write_read_test_LDADD.
9093
9094 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9095
9096 * src/sndfile.c src/au.c
9097 Fixed bug which prevented writing of G723 24kbps AU files.
9098
9099 * tests/lossy_comp_test.c
9100 Corrrection to options for G723 tests.
9101
9102 * configure.in
9103 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
9104 doesn't allow gcc -pipe option.
9105
9106 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9107
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.
9110
9111 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9112
9113 * src/pcm.c
9114 Fixed bug in normalisation code (spotted by Steve Lhomme).
9115
9116 * tests/double_test.c
9117 New file to test scaled and unscaled sf_read_double() and sf_write_double()
9118 functions.
9119
9120 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9121
9122 * COPYING
9123 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
9124
9125 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9126
9127 * src/sndfile.h
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.
9130
9131 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9132
9133 * src/newpcm.h
9134 New file to contain a complete rewrite of the PCM data handling.
9135
9136 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9137
9138 * src/sndfile.c
9139 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
9140 Skjæret for spotting this one.
9141
9142 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9143
9144 * src/au_g72x.c src/G72x/g72x.c
9145 Added G723 encoded AU file support.
9146
9147 * tests/lossy_comp_test.c
9148 Added tests for G721 and G723 encoded AU files.
9149
9150 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9151
9152 * all files
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.
9157
9158 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9159
9160 * tests/lossy_comp_test.c
9161 Fixed incorrect error message.
9162
9163 * src/au_g72x.c src/G72x/*
9164 G721 encoded AU files now working.
9165
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.
9169
9170 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9171
9172 * src/*.[ch]
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.
9176
9177 * src/au_g72x.c src/G72x/*
9178 Continued work on G721 encoded AU files.
9179
9180 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9181
9182 * src/G72x/*
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.
9188
9189 * src/au_g72x.c
9190 New file for G721 encoded AU files.
9191
9192 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9193
9194 * libsndfile.spec.in
9195 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
9196
9197 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9198
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.
9203
9204 * src/au.h
9205 New function for opening a headerless u-law encoded file for read.
9206
9207 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9208
9209 * src/paf.c
9210 Add checking for files shorter than minimal PAF file header length.
9211
9212 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9213
9214 * tests/write_read_test.c
9215 Added extra sf_perror() calls when sf_write_XXXX fails.
9216
9217 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9218
9219 * src/common.c
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.
9223
9224 * configure.in src/*.[ch]
9225 Sorted out some endian-ness issues brought up by PowerPC Linux.
9226
9227 * tests/read_seek_test.c
9228 Added extra debugging for when tests fail.
9229
9230 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9231
9232 * src/wav.c
9233 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
9234 to Sigbjørn Skjæret for reporting this.
9235
9236 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9237
9238 * src/sndfile.c src/wav.c src/wav_gsm610.c
9239 Finallised writing of GSM 6.10 WAV files.
9240
9241 * tests/lossy_comp_test.c
9242 Wrote new test code for GSM 6.10 files.
9243
9244 * examples/sfinfo.c
9245 Fixed incorrect format in printf() statement.
9246
9247 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9248
9249 * src/sndfile.h.in
9250 Fixed comments about sf_perror () and sf_error_str ().
9251
9252 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9253
9254 * configure.in
9255 Fixed --enable-justsrc option.
9256
9257 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9258
9259 * wav.c
9260 Fixed checking of bytespersec field of header. Still some weirdness
9261 with some files.
9262
9263 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9264
9265 * tests/lossy_comp_test.c
9266 Added option to test PCM WAV files (sanity check).
9267 Fixed bug in sf_seek() tests.
9268
9269 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9270
9271 * src/sndfile.c src/wav.c
9272 Minor changes to allow writing of GSM 6.10 WAV files.
9273
9274 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9275
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.
9280
9281 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9282
9283 * src/wav.c
9284 Added more error reporting in read_fmt_chunk().
9285
9286 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9287
9288 * examples/sfinfo.c
9289 Modified program to accept multiple filenames from the command line.
9290
9291 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9292
9293 * src/wav_ima_adpcm.c
9294 Moved code around in preparation to adding ability to read/write IMA ADPCM
9295 encoded AIFF files.
9296
9297 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9298
9299 * src/common.c
9300 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
9301 causing seg. faults on Sparc Solaris.
9302
9303 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9304
9305 * src/common.c
9306 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
9307
9308 * src/svx.c
9309 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
9310 set.
9311
9312 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9313
9314 * src/au.c
9315 Fixed handling of incorrect size field in AU header on read. Thanks to
9316 Christoph Lauer for finding this problem.
9317
9318 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9319
9320 * src/aiff.c
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
9323 pointing this out.
9324
9325 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9326
9327 * src/paf.c
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.
9331
9332 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9333
9334 * src/sndfile.c
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.
9338
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
9342 Puxeddu.
9343
9344 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9345
9346 * src/svx.c
9347 Finished off implementation of write using __psf_hprintf().
9348
9349 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9350
9351 * src/common.h
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.
9356
9357 * src/common.c
9358 Implemented __psf_hprintf() function. This is an internal function
9359 which is documented briefly just above the code.
9360
9361 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9362
9363 * src/sndfile.c
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.
9367
9368 * src/aiff.c
9369 Fixed default FORMsize in __aiff_open_write ().
9370
9371 * src/sndfile.c
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
9375 filename field.
9376
9377 * src/svx.c
9378 Started implementing writing of files.
9379
9380 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9381
9382 * src/svx.c
9383 New file for reading/writing 8SVX and 16SVX files.
9384
9385 * src/sndfile.[ch] src/common.h
9386 Changes for SVX files.
9387
9388 * src/aiff.c
9389 Fixed header parsing when unknown chunk is found.
9390
9391 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9392
9393 * src/paf.c
9394 New file for reading/writing Ensoniq PARIS audio file format.
9395
9396 * src/sndfile.[ch] src/common.h
9397 Changes for PAF files.
9398
9399 * src/sndfile.[ch]
9400 Added stuff for sf_get_lib_version() function.
9401
9402
9403 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9404
9405 * src/sndfile.h MacOS/config.h
9406 Fixed minor MacOS configuration issues.
9407
9408 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9409
9410 * MacOS/
9411 Added a new directory for the MacOS config.h file and the
9412 readme file.
9413
9414 * src/aiff.c
9415 Fixed calculation of datalength when reading SSND chunk. Thanks to
9416 Sigbjørn Skjæret for pointing out this error.
9417
9418 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9419
9420 * src/sndfile.c src/sndfile.h src/raw.c
9421 Further fixing of #includes for MacOS.
9422
9423 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9424
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.
9430
9431 * tests/write_read_test.c
9432 Added tests for RAW header-less PCM files.
9433
9434 * src/common.h
9435 Moved definition of struct tribyte to pcm.c which is the only place
9436 which needs it.
9437
9438 * src/pcm.c
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.
9441
9442 * src/au.c
9443 Removed <sys/stat.h> from list of #includes (not being used).
9444
9445 * src/sndfile.c
9446 Added MacOS specific #ifdef to replace <sys/stat.h>.
9447
9448 * src/sndfile.h
9449 Added MacOS specific #ifdef to replace <sys/stat.h>.
9450
9451 * src/sndfile.h
9452 Added MacOS specific typedef for off_t.
9453
9454 * MacOS-readme.txt
9455 New file with instructions for building libsndfile under MacOS. Thanks
9456 to Ben "Jacobs" for supplying these instructions.
9457
9458 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9459
9460 * configure.in
9461 Removed sndfile.h from generated file list as there were no longer
9462 any autoconf substitutions being made.
9463
9464 * src/raw.c
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 ().
9468
9469 * src/sndfile.c
9470 Added support for raw header-less PCM files.
9471
9472 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9473
9474 * examples/sfinfo.c
9475 Removed options so the sfinfo program always prints out all the information.
9476
9477 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9478
9479 * src/alaw.c
9480 New file for A-law encoding (similar to u-law).
9481
9482 * tests/alaw_test.c
9483 New test program to test the A-law encode/decode lookup tables.
9484
9485 * tests/lossy_comp_test.c
9486 Added tests for a-law encoded WAV, AU and AULE files.
9487
9488 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9489
9490 * src/sndfile.c src/au.c
9491 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
9492 this out.
9493
9494 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9495
9496 * tests/ulaw_test.c
9497 New test program to test the u-law encode/decode lookup tables.
9498
9499 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9500
9501 * src/sndfile.h
9502 Made corrections to comments on the return values from sf_seek ().
9503
9504 * src/sndfile.c
9505 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
9506
9507 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9508
9509 * src/au.c src/ulaw.c
9510 Finished implementation of u-law encoded AU files.
9511
9512 * src/wav.c
9513 Implemented reading and writing of u-law encoded WAV files.
9514
9515 * tests/
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.
9519
9520 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9521
9522 * tests/adpcm_test.c
9523 Initialised amp variable in gen_signal() to remove compiler warning.
9524
9525 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9526
9527 * src/aiff.c
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.
9531
9532 *src/wav.c
9533 Fixed as above in __wav_open_read ().
9534
9535 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9536
9537 * src/wav_ms_adpcm.c
9538 Implemented MS ADPCM encoding. Code cleanup of decoder.
9539
9540 * tests/adpcm_test.c
9541 Added tests for MS ADPCM WAV files.
9542
9543 * src/wav_ima_adpcm.c
9544 Fixed incorrect parameter in call to srate2blocksize () from
9545 __ima_writer_init ().
9546
9547 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9548
9549 * tests/read_seek_test.c
9550 Added test for 8 bit AIFF files.
9551
9552 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9553
9554 * tests/write_read_test.c
9555 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
9556
9557 * configure.in
9558 Added -Wconversion to CFLAGS.
9559
9560 * src/*.c tests/*.c examples/*.c
9561 Fixed all warnings resulting from use of -Wconversion.
9562
9563 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9564
9565 * src/wav.c
9566 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
9567 WAV files.
9568
9569 * src/wav_ima.c
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
9572 players.
9573
9574 * tests/adpcm_test.c
9575 Reimplemented adpcm_test_short and implemented adpcm_test_int and
9576 adpcm_test_double.
9577 Now have full testing of IMA ADPCM WAV file read, write and seek.
9578
9579 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9580
9581 * src/wav_float.c
9582 Fixed function prototype for x86f2d_array () which was causing ocassional
9583 seg. faults on Sparc Solaris machines.
9584
9585 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9586
9587 * src/aiff.c
9588 Fixed bug in __aiff_close where the length fields in the header were
9589 not being correctly calculated before writing.
9590
9591 * tests/write_read_test.c
9592 Modified to detect the above bug in WAV, AIFF and AU files.
9593
9594 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9595
9596 * Win32/*
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/).
9600
9601 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9602
9603 * configure.in
9604 Changed to reflect previous changes.
9605
9606 * src/wav_ima_adpcm.c
9607 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
9608
9609 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
9610 to write test code for this.
9611
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.
9614
9615 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9616
9617 * src/*.c
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.
9621
9622 * src/au.c
9623 Fixed incorrect datasize element in AU header on write.
9624
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.
9628
9629 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9630
9631 * src/wav.c src/aiff.c
9632 Added handling for unknown chunk markers in the file.
9633
9634 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9635
9636 * src/sndfile.c
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.
9640
9641 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9642
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.
9648
9649 * src/wav_ms_adpcm.c
9650 Decoder working correctly.
9651
9652 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9653
9654 * configure.in Makefile.am
9655 Added --enable-justsrc configuration variable sent by Sam
9656 <mrsam at-sign geocities.com>.
9657
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 ().
9663
9664 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9665
9666 * src/wav.c
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
9670 length?
9671
9672 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9673
9674 * src/wav.c
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
9677 in future.
9678
9679 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9680
9681 * tests/
9682 Added adpcm_test.c which implements test functions for
9683 IMA ADPCM reading/writing/seeking etc.
9684
9685 * src/wav.c
9686 Fixed many bugs in IMA ADPCM encoder and decoder.
9687
9688 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9689
9690 * src/wav.c
9691 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
9692
9693 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9694
9695 * src/wav.c
9696 Started implementing IMA ADPCM decoder.
9697
9698 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9699
9700 * src/sndfile.c
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.
9704
9705 * tests/read_seek_test.c
9706 Added multiple read test to short_test(), int_test () and
9707 double_test ().
9708 Added extra chunk to all test WAV files to test that reading
9709 stops at end of 'data' chunk.
9710
9711 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9712
9713 * tests/write_read_test.c
9714 Added tests for little DEC endian AU files.
9715
9716 * src/au.c
9717 Add handling for DEC format little endian AU files.
9718
9719 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9720
9721 * src/aiff.c src/au.c src/wav.c
9722 Add __psf_sprintf calls during header parsing.
9723
9724 * src/sndfile.c src/common.c
9725 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
9726
9727 * tests/write_read_test.c
9728 Added tests for 8 bit PCM files (WAV, AIFF and AU).
9729
9730 * src/au.c src/aiff.c
9731 Add handling of 8 bit PCM data format.
9732
9733 * src/aiff.c
9734 On write, set blocksize in SSND chunk to zero like everybody else.
9735
9736 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9737
9738 * src/pcm.c:
9739 Fixed bug in let2s_array (cptr was not being initialised).
9740
9741 * src/sndfile.c:
9742 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
9743 now work when using these functions.
9744
9745 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9746
9747 * tests/write_read_test.c:
9748 Force test_buffer array to be double aligned. Sparc Solaris
9749 requires this.
9750
9751 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9752
9753 * src/pcm.c:
9754 Fixed a bug which was causing errors in the reading
9755 and writing of 24 bit PCM files.
9756
9757 * doc/api.html
9758 Finished of preliminary documentaion.
9759
9760 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9761
9762 * src/aiff.c:
9763 Changed reading of 'COMM' chunk to avoid reading an int
9764 which overlaps an int (4 byte) boundary.