Makefile and configure cleaning (configure is no more needed).
[Faustine.git] / interpretor / lib / src / libsndfile-1.0.25 / ChangeLog
1 2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2
3 * src/ogg_vorbis.c
4 Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
5
6 * doc/command.html
7 Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
8 SFC_GET_INSTRUMENT.
9
10 * NEWS README configure.ac doc/*.html
11 Updates for 1.0.25.
12
13 2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
14
15 * src/sfconfig.h
16 Add handling for HAVE_SYS_WAIT_H.
17
18 * Makefile.am src/Makefile.am tests/Makefile.am
19 Add 'checkprograms' target.
20
21 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
22
23 * src/common.h src/sndfile.c
24 Purge SF_ASSERT macro. Use standard C assert instead.
25
26 * src/paf.c src/common.h src/sndfile.c
27 Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
28 byte value of 0) due to integer overflow if PAF file handler.
29
30 * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
31 Use calloc instead of malloc followed by memset.
32
33 * tests/utils.tpl
34 Clean up use of memset.
35
36 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
37
38 * src/ogg.c
39 Fix log message.
40
41 * tests/format_check_test.c
42 Fix compiler warnings.
43
44 2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
45
46 * src/sndfile.c
47 Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
48
49 * tests/format_check_test.c
50 Add a test to for SF_FINFO format field validation.
51
52 * src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
53 src/common.h src/Makefile.am
54 Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
55 and Speex codecs in an Ogg container. The later two are only enabled with
56 ENABLE_EXPERIMENTAL_CODE config variable.
57
58 2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
59
60 * src/strings.c
61 Clean up and refactor storage of SF_STR_SOFTWARE.
62
63 2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
64
65 * src/sndfile.h.in doc/api.html
66 Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
67 Tim van der Molen for the patch.
68
69 2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
70
71 * programs/sndfile-interleave.c
72 Fix handling of argc. Thanks to Marius Hennecke.
73
74 * src/wav_w64.c
75 Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
76 providing example files.
77
78 * src/wav.c
79 Jump over 'FLLR' chunks.
80
81 2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
82
83 * src/sndfile.h.in
84 Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
85
86 * configure.ac
87 Add -Wundef to CFLAGS.
88
89 * src/ogg.c
90 Fix -Wunder warning.
91
92 2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
93
94 * configure.ac
95 Use int64_t instead of off_t when they are the same size.
96
97 * src/Makefile.am tests/Makefile.am
98 Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
99
100 2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
101
102 * src/wav.c
103 Don't allow unknown and/or un-editable chunks to prevent the file from being
104 opened in SFM_RDWR mode.
105
106 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
107
108 * tests/format_check_test.c
109 Fix segfault in test program.
110
111 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
112
113 * tests/format_check_test.c
114 New test program to check to make sure that sf_open() and sf_check_format()
115 agree as to what is a valid program.
116
117 * tests/Makefile.am tests/test_wrapper.sh.in
118 Hook into build and test runner.
119
120 * src/sndfile.c
121 Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
122 notification.
123
124 2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
125
126 * src/caf.c
127 Add validation to size of 'data' chunk and fix size of written 'data'
128 chunk. Thanks to Michael Pruett for reporting this.
129
130 2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
131
132 * src/* tests/* programs/*
133 Fix a bunch of compiler warnings with gcc-4.6.
134
135 2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
136
137 * tests/util.tpl
138 Add NOT macro to util.h.
139
140 * src/strings.c
141 Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
142 strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
143 this problem.
144
145 * tests/string_test.c
146 Add test for SF_STR_SOFTWARE segfault bug.
147
148 * configure.ac
149 Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
150 '-I${includedir}/FLAC'. However FLAC also provides an include file
151 <assert.h> which clashes with the Standard C header of the same name. The
152 solution is strip the 'FLAC' part off the end and include all FLAC headers
153 as <FLAC/header.h>.
154
155 * configure.ac src/Makefile.am
156 Use non-recursive make in src/ directory.
157
158 2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
159
160 * NEWS README docs/*.html
161 Updates for 1.0.24 release.
162
163 2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
164
165 * configure.ac
166 Fix up usage of sed (should not assume GNU sed).
167
168 * M4/add_(c|cxx)flags.m4
169 Test flags in isolation.
170
171 * tests/cpp_test.cc
172 Fix a broken test (test segfaults). Report by Dave Flogeras.
173
174 2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
175
176 * programs/common.[ch]
177 Add function program_name() which returns the program name minus the path
178 from argv [0].
179
180 * programs/*.c programs/Makefile.am
181 Use program_name() where appropriate. Fix build.
182
183 2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
184
185 * src/wav.c
186 For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
187 byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
188 version accept 18 byte but not 16 byte.
189
190 2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
191
192 * doc/FAQ.html
193 Add examples for question 12.
194
195 * doc/libsndfile.css.in
196 Add tweaks for h4 element.
197
198 * doc/api.html
199 Add documentation for virtual I/O functionality. Thanks to Uli Franke.
200
201 * tests/util.tpl
202 Add static inline functions sf_info_clear() and sf_info_setup().
203
204 * tests/(alaw|dwvw|ulaw)_test.c
205 Use functions sf_info_clear() and sf_info_setup().
206
207 2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
208
209 * configure.ac
210 Fail more gracefully if pkg-config is missing. Suggestion from Brian
211 Willoughby.
212
213 2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
214
215 * src/common.c
216 Use size_t instead of int for size params with varargs.
217
218 2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
219
220 * doc/index.html
221 Update supported platforms with more Debian platforms and Android.
222
223 2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
224
225 * src/sndfile.hh
226 Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
227 class definition. Thanks to Eric Eizenman for pointing out this was missing.
228
229 * tests/cpp_test.cc
230 Add test for LPCWSTR version of the SndfileHandle constructor.
231
232 2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
233
234 * programs/sndfile-play.c
235 Remove cruft.
236
237 2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
238
239 * src/sndfile.hh
240 Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
241 the patch.
242
243 * tests/cpp_test.cc
244 Add tests for above two methods. Also supplied by Tim Blechmann.
245
246 2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
247
248 * doc/api.html
249 Add mention of use of sf_strerror() when sf_open() fails.
250
251 2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
252
253 * configure.ac
254 Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
255 people are compiling on a 64 bit system with the GCC -m32 flag.
256
257 * src/sndfile.h.in
258 Fix comments on sf_count_t.
259
260 2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
261
262 * src/aiff.c
263 Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
264
265 2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
266
267 * configure.ac
268 Sed fix for FreeBSD. Thanks Tony Theodore.
269
270 2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
271
272 * shave.in M4/shave.m4
273 Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
274 shave author).
275
276 * configure.ac M4/shave.m4 shave-libtool.in shave.in
277 Switch from shave to automake-1.11's AM_SILENT_RULES.
278
279 2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
280
281 * shave-libtool.in shave.in
282 Sync to upstream version.
283
284 * src/rf64.c
285 More work to make the parser more robust and accepting of mal-formed files.
286
287 2010-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
288
289 * src/common.h
290 Add functions psf_strlcpy() and psf_strlcat().
291
292 * src/broadcast.c src/sndfile.c src/strings.c src/test_main.c
293 src/test_main.h src/test_strncpy_crlf.c
294 Use functions psf_strlcpy() and psf_strlcat() as appropriate.
295
296 * tests/string_test.c
297 Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
298
299 * src/rf64.c
300 Fix size of 'ds64' chunk when writing RF64.
301
302 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
303
304 * programs/*.c
305 Add the libsndfile version to the usage message of all programs.
306
307 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
308
309 * configure.ac src/version-metadata.rc.in src/Makefile.am
310 Add version string resources to the windows DLL.
311
312 * doc/api.html
313 Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
314
315 * NEWS README configure.ac doc/*.html
316 Updates for 1.0.23 release.
317
318 2010-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
319
320 * tests/pedantic-header-test.sh.in
321 Handle unusual values of CC environment variable.
322
323 * src/rf64.c
324 Minor tweaks and additional sanity checking.
325
326 * src/Makefile.am src/binheader_writef_check.py
327 Use python 2.6.
328
329 2010-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
330
331 * src/sndfile.hh
332 Add a missing 'inline' before a constructor defintion.
333
334 2010-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
335
336 * src/common.h
337 Add macro NOT.
338
339 * src/rf64.c
340 Minor tweaks.
341
342 * Makefile.am */Makefile.am
343 Add *~ to CLEANFILES.
344
345 2010-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
346
347 * src/sndfile.c
348 Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
349 Van Winkle for the report.
350
351 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
352
353 * src/flac.c src/ogg.c src/sndfile.h.in src/strings.c src/wav.c
354 Add ability to read/write tracknumber and genre to flac/ogg/wav files.
355 Thanks to Matti Nykyri for the patch.
356
357 * src/common.h src/broadcast.c src/strings.c
358 Add function psf_safe_strncpy() and use where appropriate.
359
360 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
361
362 * NEWS README configure.ac doc/*.html
363 Updates for 1.0.22 release.
364
365 2010-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
366
367 * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
368 Rewrite of SF_BROADCAST_INFO handling.
369
370 * src/test_broadcast_var.c tests/command_test.c
371 Tweak SF_BROADCAST_INFO tests.
372
373 * src/test_broadcast_var.c
374 Fix OSX stack check error.
375
376 2010-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
377
378 * src/sds.c
379 Set sustain_loop_end to 0 as suggested by Brian Lewis.
380
381 2010-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
382
383 * src/sds.c
384 Make sure the correct frame count gets written into the header.
385
386 * tests/write_read_test.tpl
387 Don't allow SDS files to have a long frame count.
388
389 2010-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
390
391 * src/sds.c
392 Apply a pair of patches from Brian Lewis to fix the packet number location
393 and the checksum.
394
395 2010-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
396
397 * src/aiff.c src/file_io.c src/ogg.c src/rf64.c src/sndfile.c
398 src/strings.c src/test_audio_detect.c src/test_strncpy_crlf.c
399 src/wav.c tests/pcm_test.tpl
400 Fix a bunch of minor issues found using static analysis.
401
402 2010-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
403
404 * src/test_broadcast_var.c
405 New file containing tests for broadcast_set_var().
406
407 * src/Makefile.am src/test_main.[ch]
408 Hook test_broadcast_var.c into tests.
409
410 2010-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
411
412 * src/broadcast.c src/common.(c|h)
413 Move function strncpy_crlf() to src/common.c so the function can be tested
414 in isolation.
415
416 * src/test_strncpy_crlf.c
417 New file.
418
419 * src/Makefile.am src/test_main.[ch]
420 Hook test_strncpy_crlf.c into tests.
421
422 2010-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
423
424 * src/common.h
425 Move code around to make comments make sense.
426
427 * src/broadcast.c
428 Add debugging code that is disabled by default.
429
430 2010-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
431
432 * src/flac.c
433 When the file meta data says the file has zero frames set psf->sf.frames
434 to SF_COUNT_MAX. Fixes Debian bug #590752.
435
436 * programs/sndfile-info.c
437 Print 'unknown' if frame count == SF_COUNT_MAX.
438
439 2010-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
440
441 * src/sndfile.c
442 Only support writing mono SVX files. Multichannel SVX files are not
443 interleaved and there is no support infrastructure to cache and write
444 multiple channels to create a non-interleaved file.
445
446 * src/file_io.c
447 Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
448 for the bug report.
449
450 2010-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
451
452 * src/common.h
453 Add macro SF_ASSERT.
454
455 * src/sndfile.c
456 Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
457
458 * src/svx.c
459 Add support for reading and writing stereo SVX files.
460
461 2010-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
462
463 * configure.ac
464 When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
465
466 * programs/common.c programs/sndfile-metadata-set.c
467 Update metadata after the audio data is copied. Other minor fixes. Patch
468 from Marius Hennecke.
469
470 2010-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
471
472 * src/nist.c
473 Fix a regression reported by Hugh Secker-Walker.
474
475 * src/api.html
476 Add comment about sf_open_fd() not working on Windows if the application
477 and the libsndfile DLL are linked to different versions of the Microsoft
478 C runtime DLL.
479
480 2010-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
481
482 * tests/pedantic-header-test.sh.in
483 Fix 'make distcheck'.
484
485 2010-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
486
487 * tests/pedantic-header-test.sh.in
488 New file to test whether sndfile.h can be compiled with gcc's -pedantic
489 flag.
490
491 * configure.ac tests/test_wrapper.sh.in
492 Hook pedantic-header-test into test suite.
493
494 * src/sndfile.h.in
495 Fix -pedantic warning.
496
497 2010-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
498
499 * programs/sndfile-salvage.c programs/Makefile.am
500 New program to salvage the audio data from WAV/WAVEX/AIFF files which are
501 greater than 4Gig in size.
502
503 2010-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
504
505 * programs/sndfile-convert.c
506 Fix valgrind warning.
507
508 2010-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
509
510 * programs/sndfile-cmp.c
511 When files differ in the PCM data, also print the difference offset.
512 Minor cleanup.
513
514 2010-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
515
516 * src/aiff.c
517 Don't use the 'twos' marker for 24 and 32 bit PCM, use 'in24' and 'in32'
518 instead. Thanks to Paul Davis (Ardour) for this suggestion.
519
520 2010-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
521
522 * configure.ac
523 Clean up configure report.
524
525 * tests/utils.tpl
526 Add functions test_read_raw_or_die and test_write_raw_or_die.
527
528 * tests/rdwr_test.(def|tpl) tests/Makefile.am
529 Add new test program and hook into build.
530
531 * src/sndfile.c
532 Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
533
534 * tests/test_wrapper.sh.in
535 Add rdwr_test to the test wrapper script.
536
537 2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
538
539 * configure.ac
540 Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
541
542 * programs/common.[ch] programs/sndfile-metadata-set.c
543 Apply a patch from Robin Gareus allowing the setting of the time reference
544 field of the BEXT chunk.
545
546 2010-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
547
548 * src/ima_adpcm.c
549 Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
550 IMA4.
551
552 2010-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
553
554 * src/sndfile.hh
555 Add a constructor which takes an existing file descriptor and then calls
556 sf_open_fd(). Patch from Sakari Bergen.
557
558 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
559
560 * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
561 Improve usage messages.
562
563 2010-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
564
565 * src/id3.c src/Makefile.am
566 Add new file src/id3.c and hook into build.
567
568 * src/sndfile.c src/common.h
569 Detect and skip and ID3 header at the start of the file.
570
571 2010-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
572
573 * programs/common.c
574 Fix update_strings() copyright, comment, album and license are correctly
575 written. Thanks to Todd Allen for reporting this.
576
577 * man/Makefile.am
578 Change GNU makeism to something more widely supported. Thanks to Christian
579 Weisgerber for reporting this.
580
581 * configure.ac programs/Makefile.am programs/sndfile-play.c
582 Apply patch from Christian Weisgerber and Jacob Meuserto add support for
583 OpenBSD's sndio.
584
585 2010-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
586
587 * doc/api.html
588 Discourage the use of sf_read/write_raw().
589
590 2009-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
591
592 * configure.ac
593 Test for Unix pipe() and waitpid() functions.
594
595 * src/sfconfig.h tests/pipe_test.tpl
596 Disable pipe_test if pipe() and waitpid() aren't available.
597
598 2009-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
599
600 * configure.ac src/Makefile.am src/create_symbols_file.py
601 src/make-static-lib-hidden-privates.sh
602 Change name of generated file src/Symbols.linux to Symbols.gnu-binutils and
603 and use the same symbols file for other systems which use GNU binutils like
604 Debian's kfreebsd.
605
606 * M4/shave.m4 shave.in
607 Update shave files from upstream.
608
609 2009-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
610
611 * man/sndfile-metadata-get.1
612 Fix typo.
613
614 * man/sndfile-interleave.1 man/Makefile.am
615 New man page.
616
617 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
618
619 * src/ogg.c
620 When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
621 its too hot. Thanks to Dmitry Baikov for suggesting this.
622
623 * NEWS README doc/*.html
624 Updates for 1.0.21.
625
626 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
627
628 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
629 Remove these which will now be in found in the sndfile-tools package.
630
631 * programs/Makefile.am man/Makefile.am
632 Remove build rules for sndfile-jackplay.
633
634 * configure.ac
635 Remove detection of JACK Audio Connect Kit.
636
637 * programs/sndfile-concat.c man/sndfile-concat.1
638 Add new program with man page.
639
640 * man/Makefile.am programs/Makefile.am
641 Hook sndfile-concat into build system.
642
643 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
644
645 * tests/error_test.c
646 Don't terminate when sf_close() returns zero in error_close_test().
647 It seems that Windows 7 behaves differently from earlier versions of
648 Windows.
649
650 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
651
652 * configure.ac M4/*.m4
653 Rename all custom macros from AC_* to MN_*.
654
655 * programs/sndfile-interleave.c
656 Make it actually work.
657
658 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
659
660 * doc/*.html configure.ac
661 Corrections and clarifications courtesy of Robin Forder.
662
663 * programs/sndfile-convert.c programs/common.[ch]
664 Move some code from convert to common for reuse.
665
666 * programs/sndfile-interleave.c programs/sndfile-interleave.c
667 Add new programs sndfile-interleave and sndfile-deinterleave.
668
669 * programs/Makefile.am
670 Hook new programs into build.
671
672 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
673
674 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
675 Minor OS/2 tweaks as suggested by David Yeo.
676
677 * tests/multi_file_test.c
678 Fix file creation flags on windows. Thanks to Bruce Sharpe.
679
680 * src/sf_unistd.h
681 Set all group and other file create permssions to zero.
682
683 * tests/win32_test.c
684 Add a new test.
685
686 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
687
688 * doc/print.css doc/*.html
689 Add a print stylesheet and update all HTML documents to reference it.
690 Thanks to Aditya Bhargava for suggesting this.
691
692 * doc/index.html
693 Minor corrections.
694
695 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
696
697 * sndfile.pc.in
698 Add a Libs.private entry to assist with static linking.
699
700 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
701
702 * src/make-static-lib-hidden-privates.sh src/Makefile.am
703 Add a script to hide all non-public symbols in the libsndfile.a static
704 library.
705
706 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
707
708 * tests/locale_test.c
709 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
710
711 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
712
713 * src/windows.c
714 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
715
716 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
717
718 * programs/sndfile-convert.c
719 Allow the program to read from stdin by specifying '-' on the command line
720 as the input file.
721
722 * src/sndfile.h.in
723 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
724
725 * tests/virtual_io_test.c
726 Add a PAF/PCM_24 test and verify the file length is not negative
727 immediately after openning the file for write.
728
729 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
730
731 * src/wav.c
732 When writing loop lengths, adjust the end position by one to make up for
733 Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
734
735 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
736
737 * src/flac.c
738 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
739 rate.
740
741 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
742
743 * src/nist.c
744 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
745
746 * configure.ac
747 Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
748 libsndfile test suite to fail on MIPS, PowerPC and others.
749 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
750
751 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
752
753 * man/sndfile-convert.1
754 Fix warning from Debian's lintian checks.
755
756 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
757 man/Makefile.am
758 Add three new minimal manpages and hook into build.
759
760 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
761
762 * tests/test_wrapper.sh.in
763 Don't run cpp_test on x86_64-w64-mingw32.
764
765 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
766
767 * tests/utils.tpl
768 On windows, make sure the open() function doesn't get called with a third
769 parameter of 0 which fails for no good reason. Also make sure this third
770 parameter doesn't get called with S_IRGRP when compiling for windows because
771 Wine complains.
772
773 * src/sndfile.hh
774 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
775 string.
776
777 * doc/FAQ.html
778 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
779 run the test suite?
780
781 * src/create_symbols_file.py src/Makefile.am
782 Add Symbols.static target, a list of symbols, one per line.
783
784 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
785
786 * tests/test_wrapper.sh.in
787 Update to allow all tests to be gathered up into a testsuite tarball and
788 then be run using this script.
789
790 * build-test-tarball.mk.in
791 Add a Make script to build a tarball of all the test binaries and the test
792 wrapper script. This is useful for cross compiling; you can build the
793 binaries, build test test tarball and transfer the test tarball to the
794 target machine for testing.
795
796 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
797
798 * src/common.h src/*.c
799 Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
800 for the file path, directory and name. Fixes for this change throughout.
801
802 * src/windows.c src/Makefile.am
803 New file defining new windows only public function sf_wchar_open() which
804 takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
805
806 * src/sndfile.h.in
807 Add SF_CHANNEL_MAP_ABISONIC_* entries.
808 Add windows only defintion for sf_wchar_open().
809
810 * src/create_symbols_file.py
811 Add sf_wchar_open() to the list of public symbols (windows only).
812
813 * tests/locale_test.c
814 Add a wchar_test() to test sf_wchar_open().
815
816 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
817
818 * src/common.h src/*.c
819 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
820
821 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
822
823 * src/aiff.c src/voc.c
824 When a byte is needed, use unsigned char.
825
826 * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
827 Include sfconfig.h to prevent compile errors with MinGW compilers.
828
829 * configure.ac
830 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
831
832 * tests/locale_test.c
833 Update to work with xx_XX.UTF-8 style locales. Refactoring.
834
835 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
836
837 * configure.ac
838 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
839 Remove unneeded AC_SUBST.
840 Report Host CPU/OS/vendor.
841
842 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
843
844 * src/sndfile.c
845 Fix error message string.
846
847 * src/flac.c
848 Add 88200 to the list of supported sample rates.
849
850 * src/ogg.c
851 Fix compiler warning when using gcc-4.5.0.
852
853 * programs/sndfile-info.c tests/utils.tpl
854 Remove WIN32 snprintf #define.
855
856 * src/ima_adpcm.c
857 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
858 this.
859
860 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
861
862 * src/caf.c
863 Use the correct C99 format specifier for int64_t.
864
865 * M4/endian.m4
866 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
867 Ossman for the bug report.
868
869 * src/caf.c src/sndfile.c
870 Fix reading and writing of PEAK chunks in CAF files.
871
872 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
873 Run peak_chunk_test on CAF files.
874
875 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
876
877 * src/aiff.c src/wav.c
878 Use the correct C99 format specifier for int64_t.
879
880 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
881
882 * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
883 Apply a patch (massaged slightly) from Uli Franke adding handling of the
884 BEXT chunk in RF64 files.
885
886 * tests/command_test.c
887 Update channel_map_test() function so WAV test passes.
888
889 * src/rf64.c
890 Add channel mapping and ambisonic support.
891
892 * src/sndfile.h
893 Add comments showing correspondance between libsndfile channel map
894 defintiions and those used by Apple and MS.
895
896 Add handling of reading/writing channel map info.
897
898 * tests/command_test.c tests/test_wrapper.sh.in
899 Update channel map tests.
900
901 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
902
903 * src/common.h
904 Add function psf_isprint() a replacement for the standard C isprint()
905 function which ignores any locale settings and treats all input as ASCII.
906
907 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
908 Use psf_isprint() instead of isprint().
909
910 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
911
912 * src/command.c
913 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
914
915 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
916
917 * programs/sndfile-play.c
918 Allow use of Open Sound System audio output under FreeBSD.
919
920 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
921
922 * configure.ac
923 Add patch from Conrad Parker to add --disable-jack.
924
925 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
926
927 * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
928 Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
929 Thanks to Sami Liedes for reporting this a Debian bug #530831.
930
931 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
932
933 * src/chanmap.[ch]
934 New files for channel map decoding/encoding.
935
936 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
937
938 * configure.ac src/sndfile.h.in
939 Fix MSVC definition of sf_count_t.
940
941 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
942
943 * src/wav_w64.[ch]
944 Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
945 an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
946
947 * src/wav.c
948 Add ability to write the channel mask.
949
950 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
951
952 * programs/sndfile-info.c
953 Add -c command line option to dump the channel map information.
954
955 * src/wav_w64.c
956 Don't bail from parser if channel map bitmask is faulty.
957
958 * src/common.h src/sndfile.c
959 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
960
961 * src/sndfile.c
962 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
963 command handler.
964
965 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
966
967 * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
968 Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
969 channel data in WAV and W64 files.
970 Add a test for the above.
971
972 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
973
974 * src/FAQ.html
975 Update the section about pre-compiled binaries for Win64.
976
977 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
978
979 * src/common.h src/test_conversions.c
980 Be more careful when including <stdint.h> so compiling on pre-C99 platforms
981 (hello Slowlaris) might actually work.
982
983 * NEWS README doc/*.html
984 Updates for 1.0.20.
985
986 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
987
988 * src/voc.c
989 Fix a bug whereby opening a specially crafted VOC file could result in a
990 heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
991 this issue.
992
993 * src/aiff.c
994 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
995
996 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
997
998 * tests/stdin_test.c
999 Check psf->error after opening file.
1000
1001 * src/file_io.c
1002 Fix obscure seeking bug reported by Hugh Secker-Walker.
1003
1004 * tests/utils.tpl
1005 Add check of sf_error to test_open_file_or_die().
1006
1007 * src/sndfile.c
1008 Clear error if opening resource fork fails.
1009
1010 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1011
1012 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
1013 Cleanup output.
1014
1015 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1016
1017 * src/float32.c
1018 Fix f2s_clip_array.
1019
1020 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1021
1022 * src/float32.c
1023 In host_read_f2s call convert instead of f2s_array.
1024
1025 * src/ima_adpcm.c
1026 Remove dead code.
1027
1028 * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
1029 tests/dwvw_test.c tests/fix_this.c tests/generate.c
1030 tests/multi_file_test.c
1031 Minor fixes.
1032
1033 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1034
1035 * M4/shave.m4 shave.in
1036 Pulled update from upstream.
1037
1038 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1039
1040 * doc/api.html
1041 Add pointers to example programs in source code tarball.
1042
1043 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1044
1045 * src/common.h
1046 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
1047
1048 * configure.ac
1049 Add documentation for --disable-external-libs and improve error handling
1050 for that option.
1051
1052 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1053 Add public function sf_version_string.
1054
1055 * tests/sfversion.c
1056 Test function sf_version_string.
1057
1058 * M4/shave.m4 shave-libtool.in shave.in
1059 Add new files from 'git clone git://git.lespiau.name/shave'.
1060
1061 * configure.ac
1062 Enable shave.
1063
1064 * src/Makefile.am src/binheader_writef_check.py Octave/*
1065 Shave related tweaks.
1066
1067 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1068
1069 * src/common.h src/caf.c src/sndfile.c
1070 Add SF_MAX_CHANNELS (set to 256) and use it.
1071
1072 * src/sndfile.h.in
1073 Check for either _MSCVER or _MSC_VER being defined.
1074
1075 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1076
1077 * tests/vorbis_test.c
1078 Relax test slighly to allow test to pass on more CPUs etc.
1079
1080 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1081
1082 * configure.ac
1083 Detect vorbis_version_string() correctly.
1084
1085 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1086
1087 * doc/index.html
1088 Add a 'See Also' section with a link to sndfile-tools.
1089
1090 * NEWS README doc/*.html
1091 Updates for 1.0.19 release.
1092
1093 * configure.ac
1094 Fix --enable-external-libs logic.
1095
1096 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1097
1098 * src/aiff.c
1099 Fix resource leak and potential read beyond end of buffer.
1100
1101 * src/nist.c
1102 Fix reading of header value sample_n_bytes.
1103
1104 * src/sd2.c src/wav.c
1105 Fix potential read beyond end of buffer.
1106
1107 * src/sndfile.c src/svx.c
1108 Check return values of file_io functions.
1109
1110 * tests/win32_test.c
1111 Fix resource leak.
1112
1113 * configure.ac
1114 Detect the presence/absence of vorbis_version_string() in libvorbis.
1115
1116 * src/ogg.c
1117 Only call vorbis_version_string() from libvorbis if present.
1118
1119 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1120
1121 * tests/win32_test.c
1122 Don't use sprintf, even on windows.
1123
1124 * src/aiff.c src/rf64.c src/wav.c
1125 Eliminate dead code, more validation of data read from file.
1126
1127 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1128
1129 * src/ima_adpcm.c
1130 Clamp values to a valid range before indexing ima_step_size array.
1131
1132 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
1133 Don't include un-needed headers.
1134
1135 * programs/sndfile-info.c
1136 Remove dead code.
1137
1138 * tests/test_wrapper.sh.in
1139 Add 'set -e' so the script exits on error.
1140
1141 * src/test_ima_oki_adpcm.c
1142 Fix read beyond end of array.
1143
1144 * tests/win32_test.c
1145 Add missing close on file descriptor.
1146
1147 * src/nist.c programs/sndfile-metadata-set.c
1148 Fix 'unused variable' warnings.
1149
1150 * src/aiff.c
1151 Fix potential memory leak in handling of 'MARK' chunk.
1152 Remove un-needed test (unsigned > 0).
1153
1154 * src/sd2.c
1155 Improve handling of heap allocated buffer.
1156
1157 * src/sndfile.c
1158 Remove un-needed test (always true).
1159
1160 * src/wav.c src/rf64.c
1161 Ifdef out dead code that will be resurected some time in the future.
1162
1163 * src/wav.c src/w64.c src/xi.c
1164 Handle error return values from psf_ftell.
1165
1166 * src/wav_w64.c
1167 Fix handling and error checking of MSADPCM coefficient arrays.
1168
1169 * regtest/*.c
1170 Bunch of fixes.
1171
1172 * src/test_file_io.c
1173 Use snprintf instead of strncpy in test program.
1174
1175 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1176
1177 * src/sd2.c
1178 Validate data before using.
1179
1180 * src/caf.c
1181 Validate channels per frame value before using, fixing a possible integer
1182 overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
1183 Secunia Research (CVE-2009-0186).
1184
1185 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1186
1187 * Octave/octave_test.sh
1188 Unset TERM environment variable and export LD_LIBRARY_PATH.
1189
1190 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1191
1192 * src/file_io.c
1193 In windows code, cast LPVOID to 'char*' in printf.
1194
1195 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1196
1197 * M4/octave.m4
1198 Clear the TERM environment before evaluating anything in Octave. This works
1199 around problems that might occur if a users TERM settings are incorrect.
1200 Thanks to Rob Til Freedmen for helping to debug this.
1201
1202 * src/wav.c
1203 Handle four zero bytes as a marker within a LIST or INFO chunk.
1204 Thanks to Rogério Brito for supplying an example file.
1205
1206 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1207
1208 * src/common.h src/*.c
1209 Use C99 snprintf everywhere.
1210
1211 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1212
1213 * tests/test_wrapper.sh.in
1214 New file to act as the template for the test wrapper script.
1215
1216 * configure.ac
1217 Generate tests/test_wrapper.sh from the template.
1218
1219 * tests/Makefile.am
1220 Replace all tests with a single invocation of the test wrapper script.
1221
1222 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1223
1224 * src/ogg.c
1225 Record vorbis library version string.
1226
1227 * configure.ac
1228 Require libvorbis >= 1.2.2.
1229
1230 * M4/endian.m4
1231 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
1232
1233 * M4/octave.m4 M4/mkoctfile_version.m4
1234 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
1235
1236 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1237
1238 * Octave/Makefile.am
1239 Use $(top_buildir) instead of $(builddir) which may not be defined.
1240
1241 * M4/octave.m4
1242 Improve logic and status reporting.
1243
1244 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1245
1246 * configure.ac AUTHORS NEWS README doc/*.html
1247 Final tweaks for 1.0.18 release.
1248
1249 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1250
1251 * programs/sndfile-convert.c
1252 Add 'htk' to the list of convert formats.
1253
1254 * programs/sndfile-info.c
1255 Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
1256 Increase size of files for which signal max will be calculated.
1257
1258 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1259
1260 * doc/index.html
1261 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
1262
1263 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1264
1265 * programs/sndfile-metadata-get.c
1266 Make valgrind clean.
1267 Clean up temp string array usage.
1268 Error out if trying to update coding history in RDWR mode.
1269
1270 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1271
1272 * doc/index.html
1273 Fix links to versions of the LGPL.
1274
1275 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1276
1277 * tests/string_test.c
1278 Add test for RDWR mode where the file ends up shorter than when it was
1279 opened.
1280
1281 * src/wav.c
1282 Truncate the file on close for RDWR mode where the file ends up shorter
1283 than when it was opened.
1284
1285 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1286
1287 * M4/add_cflags.m4
1288 Fix problem with quoting of '#include'.
1289
1290 * M4/add_cxxflags.m4 configure.ac
1291 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
1292
1293 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1294
1295 * programs/sndfile-info.c
1296 Apply patch from Conrad Parker to calculate and display total duration when
1297 more than one file is dumped.
1298
1299 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1300
1301 * configure.ac src/Makefile.am
1302 Tweaks to generation of Symbols files.
1303
1304 * tests/win32_ordinal_test.c
1305 Update tests for above changes.
1306
1307 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1308
1309 * programs/common.c
1310 When merging broadcast info, make sure to clear the destination field
1311 before copying in the new data.
1312
1313 * programs/test-sndfile-metadata-set.py
1314 Add test for the above.
1315
1316 * src/broadcast.c
1317 Fix checking of required coding_history_size.
1318
1319 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1320
1321 * tests/command_test.c
1322 Add test to detect if coding history is truncated.
1323
1324 * src/broadcast.c
1325 Fix truncation of coding history.
1326
1327 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1328
1329 * tests/command_test.c
1330 Add broadcast_coding_history_size test.
1331
1332 * programs/*.[ch]
1333 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
1334
1335 * src/rf64.c
1336 Add code to prevent infinite loop on malformed file.
1337
1338 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
1339 Rationalize and improve error handling when parsing 'fmt ' chunk.
1340
1341 * M4/octave.m4
1342 Simplify and remove cruft.
1343 Check for correct Octave version.
1344
1345 * Octave/*
1346 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
1347
1348 * Octave/sndfile.cc Octave/PKG_ADD
1349 Add Octave function sfversion which returns the libsndfile version that the
1350 module is linked against.
1351
1352 * Octave/Makefile.am
1353 Bunch of build and 'make distcheck' fixes.
1354
1355 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1356
1357 * programs/common.c
1358 Return 1 if SFC_SET_BROADCAST_INFO fails.
1359
1360 * programs/test-sndfile-metadata-set.py
1361 Update for new programs directory, exit on any error.
1362
1363 * tests/error_test.c
1364 Fix failure behaviour in error_number_test.
1365
1366 * src/common.h src/sndfile.c
1367 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
1368
1369 * src/*
1370 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
1371
1372 * src/broadcast.c
1373 Fix generation of added coding history.
1374
1375 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1376
1377 * programs/sndfile-metadata-get.c programs/sndfile-info.c
1378 Exit with non-zero on errors.
1379
1380 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1381
1382 * examples/sndfile-to-text.c examples/Makefile.am
1383 Add a new example program and hook it into the build.
1384
1385 * examples/ programs/
1386 Add a new directory programs and move sndfile-info, sndfile-play and other
1387 real programs to the new directory, leaving example programs where they
1388 were.
1389
1390 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1391
1392 * tests/Makefile.am
1393 Automake 1.10 MinGW cross compiling fixes.
1394
1395 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1396
1397 * examples/sndfile-play.c
1398 Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
1399 Fix gcc-4.3 compiler warnings.
1400
1401 * tests/command_test.c
1402 Fix a valgrind warning.
1403
1404 * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
1405 tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
1406 Fix gcc-4.3 compiler warnings.
1407
1408 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1409
1410 * src/broadcast.c
1411 Fix termination of desitination string in strncpy_crlf.
1412 When copying BROADCAST_INFO chunk, make sure destination gets correct line
1413 endings.
1414
1415 * examples/common.c
1416 Fix copying of BROADCAST_INFO coding_history field.
1417
1418 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1419
1420 * tests/command_test.c
1421 Add test function instrument_rw_test, but don't hook it into the testing
1422 yet.
1423
1424 * src/common.h src/command.c src/sndfile.c src/flac.c
1425 Error code rationalization.
1426
1427 * src/common.h src/sndfile.c
1428 Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
1429 fails due to psf->have_written being true.
1430
1431 * doc/command.html
1432 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
1433
1434 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1435
1436 * tests/command_test.c
1437 Improve error reporting when '\0' is found in coding history.
1438 Fix false failure.
1439
1440 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1441
1442 * src/broadcast.c
1443 Convert all coding history line endings to \r\n.
1444
1445 * tests/command_test.c
1446 Add test to make sure all line endings are converted to \r\n.
1447
1448 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1449
1450 * src/broadcast.c
1451 Changed the order of coding history fields.
1452
1453 * tests/command_test.c
1454 Update bextch test to cope with previous change.
1455
1456 * examples/common.c
1457 Add extra length check when copying broadcast info data.
1458
1459 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1460
1461 * tests/utils.tpl tests/pcm_test.tpl
1462 Update check_file_hash_or_die to use 64 bit hash.
1463
1464 * tests/checksum_test.c tests/Makefile.am
1465 Add new checksum_test specifically for lossy compression of headerless
1466 files.
1467
1468 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1469
1470 * src/gsm610.c
1471 Seek to psf->dataoffset before decoding first block.
1472
1473 * src/sndfile.c
1474 Fix detection of mpc2k files on big endian systems.
1475
1476 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1477
1478 * src/broadcast.c
1479 Use '\r\n' newlines in Coding History as required by spec.
1480
1481 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1482
1483 * src/test_conversions.c
1484 Use int64_t instead of 'long long'.
1485
1486 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1487
1488 * examples/sndfile-metadata-set.c
1489 Remove --bext-coding-history-append command line option because it didn't
1490 really make sense.
1491
1492 * examples/sndfile-metadata-(get|set).c
1493 Add usage messages.
1494
1495 * examples/test-sndfile-metadata-set.py
1496 Start work on test coding history.
1497
1498 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1499
1500 * README doc/win32.html
1501 Bring these up to date.
1502
1503 * src/aiff.c
1504 Fix parsing of REX files.
1505
1506 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1507
1508 * src/file_io.c
1509 Use intptr_t instead of long for return value of _get_osfhandle.
1510
1511 * src/test_conversions.c src/test_endswap.tpl
1512 Fix printing of int64_t values.
1513
1514 * examples/sndfile-play.c
1515 Fix win64 issues.
1516
1517 * tests/win32_ordinal_test.c
1518 Fix calling of GetProcAddress with ordinal under win64.
1519
1520 * tests/utils.tpl
1521 Fix win64 issues.
1522
1523 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1524
1525 * examples/*
1526 Rename copy_data.[ch] to common.[ch]. Fix build.
1527 Move code from sndfile-metadata-set.c to common.c.
1528
1529 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
1530 Clean paths.
1531
1532 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1533
1534 * doc/tutorial.html doc/Makefile.am
1535 Add file doc/tutorial.html and hook into build/dist system.
1536
1537 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1538
1539 * examples/sndfile-metadata-set.c
1540 Clean up handling of bext command line params.
1541
1542 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1543
1544 * src/w64.c
1545 Add handling/skipping of a couple of new chunk types.
1546
1547 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1548
1549 * configure.ac
1550 Add -funsigned-char to CFLAGS if the compiler supports it.
1551
1552 * examples/sndfile-metadata-(get|set).c
1553 Add handling for more metadata types.
1554
1555 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1556
1557 * src/common.h
1558 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
1559 field of SF_INFO into component parts.
1560
1561 * src/*.c
1562 Use new macros everywhere it is appropriate.
1563
1564 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1565
1566 * examples/sndfile-bwf-set.c
1567 Massive reworking.
1568
1569 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1570
1571 * examples/sndfile-bwf-set.c
1572 Add --info-auto-create-date command line option.
1573
1574 * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
1575 examples/Makefile.am examples/test-sndfile-bwf-set.py
1576 Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
1577 Change command line args.
1578
1579 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1580
1581 * src/wav.c
1582 Allow 'PAD ' chunk to be modified in RDWR mode.
1583
1584 * src/sndfile.h.in src/sndfile.c
1585 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
1586
1587 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
1588 tests/misc_test.c
1589 Add tests for RF64.
1590
1591 * src/rf64.c
1592 Fixes to make sure all tests pass.
1593
1594 * tests/Makefile.am tests/string_test.c
1595 Add string tests (not yet passing).
1596
1597 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1598
1599 * src/rf64.c
1600 First pass at writing RF64 now working.
1601
1602 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1603
1604 * examples/sndfile-convert.c
1605 Add SF_FORMAT_RF64 to format_map.
1606
1607 * src/common.h src/sndfile.c
1608 More RF64 support code.
1609
1610 * examples/sndfile-bwf-set.c
1611 Fix the month number in autogenerated date string and use hypen in date
1612 instead of slash.
1613
1614 * examples/test-sndfile-bwf-set.py
1615 Update tests.
1616
1617 * examples/sndfile-info.c
1618 When called with -i or -b option, operate on all files on command line, not
1619 just the first.
1620
1621 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1622
1623 * src/rf64.c
1624 New file to handle RF64 (WAV like format supportting > 4Gig files).
1625
1626 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
1627 Hook the above into build so hacking can begin.
1628
1629 * src/pcm.c
1630 Improve log message when pcm_init fails.
1631
1632 * src/sndfile-info.c
1633 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
1634 length.
1635
1636 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1637
1638 * tests/string_test.c
1639 Polish string_multi_set_test.
1640
1641 * src/wav.c
1642 In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
1643 length has changed).
1644 Minor fixes in wav_write_strings.
1645 Write PAD chunk with default endian-ness, not a specific endian-ness.
1646
1647 * examples/test-sndfile-bwf-set.py
1648 Add Python script to test sndfile-bwf-set/get.
1649
1650 * examples/sndfile-bwf-set.c
1651 Clean up and fixes.
1652
1653 * src/wav.c
1654 Merge function wavex_write_header into wav_write_header, deleting about 70
1655 lines of code.
1656
1657 * src/common.h
1658 Double value of SF_MAX_STRINGS.
1659
1660 * tests/string_test.c
1661 Add string tests for WAVEX and RIFX files.
1662
1663 * tests/command_test.c
1664 Add broadcast test for WAVEX files.
1665
1666 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1667
1668 * tests/string_test.c
1669 Add a new string_rdwr_test (currently failing for WAV).
1670 Add a new string_multi_set_test (currently failing).
1671
1672 * tests/command_test.c
1673 Add new broadcast_rdwr_test (currently failing).
1674
1675 * src/wav.c
1676 Fix to WAV parser to allow 'bext' chunk to be updated in place.
1677 In wav_write_tailer, seek to psf->dataend if its greater than zero.
1678
1679 * src/sndfile.c
1680 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
1681
1682 * configure.ac
1683 Test for <sys/time.h> and gettimeofday.
1684
1685 * src/common.c
1686 Use gettimeofday() to initialize psf_rand_int32.
1687
1688 * src/common.h src/sndfile.c
1689 Add unique_id field to SF_PRIVATE struct.
1690
1691 * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
1692 Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
1693
1694 * src/common.h src/strings.c
1695 Add function psf_location_string_count.
1696
1697 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1698
1699 * configure.ac
1700 Test for localtime and localtime_r.
1701
1702 * examples/sndfile-convert.c
1703 In function copy_metadata(), copy broadcast info if present.
1704
1705 * examples/copy_data.[ch] examples/Makefile.am
1706 Break some functionality out of sndfile-convert.c so it can be used in
1707 examples/sndfile-bwf-set.c.
1708
1709 * tests/utils.tpl
1710 Add new function create_short_sndfile().
1711
1712 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
1713 examples/Makefile.am
1714 Add new files and hook into build.
1715
1716 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1717
1718 * src/sndfile.h.in
1719 Fix comments. Patch from Mark Glines.
1720
1721 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1722
1723 * tests/misc_test.c
1724 Use zero_data_test on Ogg/Vorbis files.
1725
1726 * src/ogg.c
1727 Fix segfault when closing an Ogg/Vorbis file that has been opened for write
1728 but had no actual data written to it. Bug reported by Chinoy Gupta.
1729
1730 * tests/Makefile.am
1731 Make sure to run mist_test on Ogg/Vorbis files.
1732
1733 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1734
1735 * regtest/Makefile.am
1736 Use SQLITE3_CFLAGS to locate sqlite headers.
1737
1738 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1739
1740 * doc/index.html doc/FAQ.html
1741 Add notes about which versions of windows libsndfile works on.
1742
1743 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1744
1745 * tests/misc_test.c
1746 Add a test for correct handling of Ambisonic files. Thanks to Fons
1747 Adriaensen for the test.
1748
1749 * src/wav.c src/wav_w64.c
1750 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
1751
1752 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1753
1754 * configure.ac
1755 Fix detection/enabling of external libs.
1756
1757 * M4/extra_pkg.m4 M4/Makefile.am
1758 Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
1759 PKG_CHECK_MODULES. The new macro prints the version number of the package
1760 it is searching for.
1761
1762 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1763
1764 * src/aiff.c
1765 Apply a fix from Axel Röbel where if the second loop in the instrument
1766 chunk is none, the loop mode is written into the first loop.
1767
1768 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1769
1770 * src/test_float.c src/test_main.(c|h) src/Makefile.am
1771 Add new file to test functions float32_(le|be)_(read|write) and
1772 double64_(le|be)_(read|write). Hook into build and testsuite.
1773
1774 * src/double64.c src/float32.c
1775 Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
1776 for reporting this bug.
1777
1778 * src/sndfile.h.in
1779 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
1780 unsigned.
1781
1782 * examples/sndfile-info.c
1783 Print out the BEXT time reference in a sensible format.
1784
1785 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1786
1787 * src/*.c
1788 Fuzz fixes.
1789
1790 * src/ogg.c
1791 Add call to ogg_stream_clear to fix valgrind warning.
1792
1793 * src/aiff.c
1794 Fix x86_64 compile issue.
1795
1796 * configure.ac src/Makefile.am src/flac.c src/ogg.c
1797 Link to external versions of FLAC, Ogg and Vorbis.
1798
1799 * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
1800 tests/vorbis_test.c tests/write_read_test.tpl
1801 Fix tests when configured with --disable-external-libs.
1802
1803 * tests/external_libs_test.c tests/Makefile.am
1804 Add new test and hook into build and test suite.
1805
1806 * src/command.c
1807 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
1808 the right data when external libs are disabled.
1809
1810 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1811
1812 * tests/write_read_test.tpl
1813 Add a test for extending a file during write by seeking past the current
1814 end of file.
1815
1816 * src/sndfile.c
1817 Allow seeking past end of file during write.
1818
1819 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1820
1821 * doc/api.html doc/command.html
1822 Move all information about the sf_command function to command.html and add
1823 a link from documentation of the sf_read/write_raw function to the
1824 SFC_RAW_NEEDS_ENDSWAP command.
1825
1826 * doc/index.html doc/FAQ.html doc/libsndfile.css
1827 Minor documentation tweaks.
1828
1829 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1830
1831 * configure.ac
1832 Add AM_PROG_CC_C_O.
1833
1834 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1835
1836 * tests/error_test.c
1837 Add a test to make sure if file opened with sf_open_fd, and then the file
1838 descriptor is closed, then sf_close will return an error code. Thanks to
1839 Dave Flogeras for the bug report.
1840
1841 * src/sndfile.c
1842 Make sf_close return an error is the file descriptor is already closed.
1843
1844 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1845
1846 * configure.ac
1847 Set object format to aout for OS/2. Thanks to David Yeo.
1848
1849 * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
1850 Add ability to read MPC 2000 file.
1851
1852 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
1853 tests/Makefile.am
1854 Add tests for MPC 2000 file format.
1855
1856 * examples/sndfile-convert.c
1857 Allow conversion to MPC 2000 file format.
1858
1859 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1860
1861 * src/VORBIS/lib/codebook.c
1862 Sync from upstream SVN.
1863
1864 * autogen.sh configure.ac
1865 Minor tweaks.
1866
1867 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1868
1869 * src/ogg.c
1870 Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
1871 The patch as supplied segfaulted and required many hours of debugging.
1872
1873 * src/OGG/bitwise.c
1874 Sync from upstream SVN.
1875
1876 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1877
1878 * src/aiff.c
1879 Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
1880 this issue.
1881
1882 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1883
1884 * tests/*.c
1885 Add calls to sf_close() where needed.
1886
1887 * tests/utils.tpl tests/multi_file_test.c
1888 Always pass 0 as the third argument to open when OS_IS_WIN32.
1889
1890 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1891
1892 * src/test_*
1893 Add files test_main.[ch].
1894 Collapse all tests into a single executable.
1895
1896 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1897
1898 * src/FLAC
1899 Sync to upstream CVS.
1900
1901 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1902
1903 * src/common.h
1904 Make SF_MIN and SF_MAX macros MinGW friendly.
1905
1906 * examples/sndfile-(info|play).c
1907 Use Sleep function from <windows.h> instead of _sleep.
1908
1909 * tests/locale_test.c
1910 Disable some tests when OS_IS_WIN32.
1911
1912 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
1913 src/FLAC/src/share/utf8/utf8.c
1914 MinGW fixes.
1915
1916 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1917
1918 * doc/FAQ.html
1919 Tweaks to pcm16 <-> float conversion answer.
1920
1921 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1922
1923 * src/OGG
1924 Sync to SVN upstream.
1925
1926 * Makefile.am
1927 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
1928
1929 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1930
1931 * examples/sndfile-jackplay.c
1932 Minor tweaks to warning message printed when compiled without libjack.
1933
1934 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1935
1936 * tests/peak_chunk_test.c
1937 Improve read_write_peak_test to find more errors. Inspired by example
1938 provided by Nicolas Castagne.
1939
1940 * src/aiff.c
1941 Another SFM_RDWR fix shown up by above test.
1942
1943 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1944
1945 * src/aiff.c
1946 Fix reading of COMM encoding string.
1947
1948 * src/chunk.c src/common.h src/Makefile.am
1949 New file for storing and retrieving info about header chunks. Hook into
1950 build.
1951
1952 * src/aiff.c
1953 Use new chunk logging to fix problem with AIFF in RDWR mode.
1954
1955 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1956
1957 * src/command.c
1958 Add WVE to the list of major formats.
1959
1960 * tests/aiff_rw_test.c
1961 Fix error reporting.
1962
1963 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1964
1965 * src/common.[ch]
1966 Add internal functions str_of_major_format, str_of_minor_format,
1967 str_of_open_mode and str_of_endianness.
1968
1969 * tests/write_read_test.tpl
1970 Fix reporting of errors in new_rdwr_XXXX_test.
1971
1972 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1973
1974 * examples/sndfile-play.c
1975 Apply patch from Yair K. to fix compiles with OSS v4.
1976
1977 * src/common.h src/float32.c src/double64.c
1978 Rename psf->float_enswap to psf->data_endswap.
1979
1980 * src/sndfile.h.in src/sndfile.c src/pcm.c
1981 Add command SFC_RAW_NEEDS_ENDSWAP.
1982
1983 * tests/command.c
1984 Add test for SFC_RAW_NEEDS_ENDSWAP.
1985
1986 * doc/command.html
1987 Document SFC_RAW_NEEDS_ENDSWAP.
1988
1989 * tests/peak_chunk_test.c
1990 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
1991 bug report.
1992
1993 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1994
1995 * examples/sndfile-cmp.c
1996 Add new example program contributed by Conrad Parker.
1997
1998 * examples/Makefile.am
1999 Hook into build.
2000
2001 * doc/development.html
2002 Change use or reconfigure.mk to autogen.sh.
2003
2004 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2005
2006 * tests/win32_test.c
2007 Add another win32 test.
2008
2009 * tests/util.tpl
2010 Add function file_length_fd which wraps fstat.
2011
2012 * tests/Makefile.am
2013 Run the multi_file_test on AU files.
2014
2015 * tests/multi_file_test.c
2016 Use function file_length_fd() instead of file_length() to overcome stupid
2017 win32 bug. Fscking hell Microsoft sucks so much.
2018
2019 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2020
2021 * src/sd2.c
2022 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
2023
2024 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2025
2026 * doc/index.html
2027 Allow use of either LGPL v2.1 or LGPL v3.
2028
2029 * tests/header_test.tpl
2030 Add header_shrink_test from Axel Röbel.
2031
2032 * src/wav.c
2033 Add fix from Axel Röbel for writing files with float data but no peak
2034 chunk (ie peak chunk gets removed after the file is opened).
2035
2036 * src/aiff.c tests/header_test.tpl
2037 Apply similar fix to above for AIFF files.
2038
2039 * src/wav.c tests/header_test.tpl
2040 Apply similar fix to above for WAVEX files.
2041
2042 * src/command.c
2043 Add Ogg/Vorbis to 'get format' commands.
2044
2045 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2046
2047 * src/ogg.c
2048 Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
2049 Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
2050
2051 * tests/ogg_test.c
2052 Add stereo seek tests.
2053
2054 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2055
2056 * tests/ogg_test.c
2057 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
2058 case supplied by Bodo.
2059
2060 * tests/utils.(def|tpl)
2061 Add compare_XXX_or_die functions.
2062
2063 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2064
2065 * src/aiff.c
2066 Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
2067 misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
2068
2069 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2070
2071 * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
2072 Merge in code from the vox-patch branch. Thanks to Robs for the patch
2073 which fixes a long standing bug in the VOX codec.
2074
2075 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2076
2077 * examples/sndfile-convert.c
2078 Fix handling of -override-sample-rate=X option.
2079
2080 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2081
2082 * src/ogg.c src/VORBIS
2083 Merge in Ogg Vorbis support from John ffitch of the Csound project.
2084
2085 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2086
2087 * src/sndfile.c
2088 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
2089 recognise 'vox8' as and 'vox' as 8kHz files.
2090
2091 * configure.ac
2092 Detect libjack (JACK Audio Connect Kit).
2093
2094 * examples/sndfile-jackplay.c examples/Makefile.am
2095 Add new example program to play sound files using the JACK audio server.
2096 Thanks to Jonatan Liljedahl for allowing this to be included.
2097
2098 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2099
2100 * doc/index.html
2101 Update support table with SD2 and FLAC.
2102
2103 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2104
2105 * src/sndfile.c
2106 Fix calculation of internal value psf->read_current when attempting to read
2107 past end of audio data.
2108 Remove redundant code.
2109
2110 * tests/lossy_comp_test.c
2111 Add read_raw_test to check that raw reads do not go past the end of the
2112 audio data section.
2113 Clean up error output messages.
2114
2115 * src/sndfile.c
2116 Add code to prevent sf_read_raw from reading past the end of the audio data.
2117
2118 * tests/Makefile.am
2119 Add the wav_pcm lossy_comp_test.
2120
2121 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2122
2123 * configure.ac src/Makefile.am src/create_symbols_file.py
2124 More OS/2 fixes from David Yeo.
2125
2126 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2127
2128 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
2129 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
2130
2131 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2132
2133 * src/common.h
2134 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
2135
2136 * src/create_symbols_file.py
2137 Add support for OS/2 contributed by David Yeo.
2138
2139 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2140
2141 * M4/gcc_version.m4
2142 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
2143
2144 * configure.ac
2145 Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
2146 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
2147 Use -fgnu-inline to prevent stupid warnings.
2148
2149 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2150
2151 * tests/util.tpl
2152 Increase the printing width for print_test_name().
2153
2154 * tests/command_test.c tests/Makefile.am
2155 Add tests for correct updating of broadcast WAV coding history.
2156
2157 * examples/sndfilehandle.cc examples/Makefile.am
2158 Add example program using the C++ SndfileHandle class.
2159
2160 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2161
2162 * src/common.h src/sndfile.c
2163 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
2164
2165 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2166
2167 * src/sd2.c
2168 Identify sample-rate/sample-size/channels by resource id.
2169
2170 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2171
2172 * src/broadcast.c src/common.h src/sndfile.c
2173 Improvements to handling of broadcast info in WAV files. Thanks to Frederic
2174 Cornu and other for their input.
2175
2176 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2177
2178 * src/FLAC/include/share/alloc.h
2179 Mingw fix for SIZE_T_MAX from Uli Franke.
2180
2181 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2182
2183 * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
2184 Move tests from open_fail_test.c to error_test.c and remove the former.
2185
2186 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2187
2188 * tests/scale_clip_test.(def|tpl)
2189 Add tests for SFC_SET_INT_FLOAT_WRITE command.
2190
2191 * doc/command.html
2192 Add docs for SFC_SET_INT_FLOAT_WRITE command.
2193
2194 * examples/sndfile-play.c tests/dft_cmp.c
2195 Fix gcc-4.2 warning messages.
2196
2197 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2198
2199 * src/sndfile.h.in src/sndfile.c
2200 Add command SFC_GET_CURRENT_SF_INFO.
2201
2202 * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
2203 Remove function sf_get_info (only ever in pre-release code).
2204
2205 * tests/command_test.c
2206 Add test for SFC_GET_CURRENT_SF_INFO.
2207
2208 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2209
2210 * src/wav.c
2211 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
2212
2213 * configure.ac
2214 Put config stuff in Cfg directory.
2215 Remove check for inttypes.h.
2216
2217 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2218
2219 * src/w64.c
2220 Fix writing of 'riff' chunk length and check for correct value in parser.
2221
2222 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2223
2224 * doc/index.html
2225 Link to MP3 FAQ entry.
2226
2227 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2228
2229 * src/flac.c
2230 Move the blocksize check to an earlier stage of flac_buffer_copy.
2231
2232 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2233
2234 * src/FLAC
2235 Huge merge from FLAC upstream.
2236
2237 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2238
2239 * examples/*.c
2240 Change license to all example programs to BSD.
2241
2242 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2243
2244 * src/FLAC/include/FLAC/metadata.h
2245 Include <sys/types.h> to prevent compile error on OSX.
2246
2247 * Octave/octave_test.sh
2248 Disable test on OSX. Can't get it to work.
2249
2250 * src/flac.c
2251 Check the blocksize returned from the FLAC decoder to prevent buffer
2252 overruns. Reported by Jeremy Friesner. Thanks.
2253
2254 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2255
2256 * Makefile.am M4/octave.m4
2257 Fix build when Octave headers are not present.
2258
2259 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2260
2261 * doc/development.html
2262 Add note about bzr repository directory looking empty.
2263
2264 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2265
2266 * configure.ac Octave/* M4/octave_*
2267 Bunch of changes to add ability to build GNU Octave modules to read/write
2268 sound files using libsndfile from Octave.
2269
2270 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2271
2272 * acinclude.m4 configure.ac ...
2273 Get rid of acinclude.m4 and replace it with an M4 directory.
2274
2275 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2276
2277 * src/sndfile.h.in
2278 Remove crufty Metrowerks compiler support. Allow header file to be compiled
2279 on windows with both GCC and microsoft compiler.
2280
2281 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2282
2283 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
2284 Clean up floating point tests.
2285
2286 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2287
2288 * src/aiff.c
2289 Fix segfault when COMM chunk length is byte swapped.
2290
2291 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2292
2293 * src/common.h src/mat4.c src/mat5.c src/sndfile.c
2294 Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
2295
2296 * src/au.c
2297 Fix crash on AU files with zero channel count. Reported by Ben Alison.
2298
2299 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2300
2301 * src/voc.c
2302 Fix bug in handling file supplied by Matt Olenik.
2303
2304 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2305
2306 * src/OGG
2307 Merge from OGG upstream sources.
2308
2309 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2310
2311 * src/FLAC
2312 Merge from FLAC upstream sources.
2313
2314 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2315
2316 * src/flac.c
2317 Fix memory leak; set copy parameter to FALSE in call to
2318 FLAC__metadata_object_vorbiscomment_append_comment.
2319
2320 * src/common.[ch]
2321 Add function psf_rand_int32().
2322
2323 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2324
2325 * src/FLAC
2326 Merge from FLAC upstream sources.
2327
2328 * src/strings.c tests/string_test.c tests/Makefile.am
2329 Make sure string tests for SF_STR_LICENSE actually works.
2330
2331 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2332
2333 * tests/string_test.c
2334 Add ability to test strings stored in metadata secion of FLAC files.
2335
2336 * src/string.c
2337 Fix logic for testing if audio data has been written and string is added.
2338 Make sure SF_STR_ALBUM actually works.
2339
2340 * src/flac.c
2341 Finalize reading/writing string metadata. Tests pass.
2342
2343 * src/sndfile.h.in tests/string_test.c src/flac.c
2344 Add string type SF_STR_LICENSE, update test and use for FLAC files.
2345
2346 * src/sndfile.h.in
2347 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
2348
2349 * src/common.h src/double64.c src/float32.c src/sndfile.c
2350 Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
2351
2352 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2353
2354 * src/flac.c
2355 Apply patch from Ed Schouten to read artist and title metadata from FLAC
2356 files.
2357 Improve reporting of FLAC metadata.
2358
2359 * src/sndfile.h.in tests/string_test.c src/flac.c
2360 Add string type SF_STR_ALBUM, update test and use for FLAC files.
2361
2362 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2363
2364 * src/FLAC/*
2365 Merge from upstream CVS.
2366
2367 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2368
2369 * src/FLAC/*
2370 Update from upstream CVS.
2371
2372 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2373
2374 * tests/cpp_test.cc
2375 Add extra tests for when the SndfileHandle constructor fails.
2376
2377 * src/sndfile.hh
2378 Make sure failure to open the file in the constructor does not allow later
2379 calls to other methods to fail.
2380
2381 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2382
2383 * tests/util.tpl
2384 Add function write_mono_file.
2385
2386 * tests/generate.[ch] tests/Makefile.am
2387 Add files generate.[ch] and hook into build.
2388
2389 * tests/write_read_test.tpl
2390 Add multi_seek_test.
2391
2392 * src/flac.c
2393 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
2394 by David Viens.
2395
2396 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2397
2398 * doc/FAQ.html
2399 Minor update.
2400
2401 * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
2402 Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
2403
2404 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2405
2406 * src/wav.c
2407 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
2408
2409 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2410
2411 * src/wav.c
2412 Fix array indexing bug raised by Bruce Sharpe.
2413
2414 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2415
2416 * src/FLAC/src/share/getopt/getopt.c
2417 Fix Mac OSX / PowerPC compile warnings.
2418
2419 * configure.ac
2420 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
2421
2422 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2423
2424 * doc/FAQ.html
2425 Add Q/A about MP3 support.
2426
2427 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2428
2429 * doc/new_file_type.HOWTO
2430 Minor updates.
2431
2432 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2433
2434 * src/wve.c
2435 Fix a couple bad parameters with psf_log_printf.
2436
2437 * src/pcm.c
2438 Improve error reporting.
2439
2440 * src/common.h src/common.c
2441 Constify psf_hexdump.
2442
2443 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2444
2445 * src/FLAC
2446 Ditch and re-import required FLAC code.
2447
2448 * configure.ac
2449 Force FLAC__HAS_OGG variable to 1.
2450
2451 * src/FLAC/src/libFLAC/stream_encoder.c
2452 Fix compiler warnings.
2453
2454 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2455
2456 * configure.ac tests/win32_ordinal_test.c
2457 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
2458 true.
2459
2460 * src/G72x/Makefile.am src/Makefile.am
2461 Use $(EXEEXT) where possible.
2462
2463 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2464
2465 * src/wve.c src/common.h src/sndfile.c
2466 Complete definition of SfE_WVE_NO_WVE error message.
2467
2468 * src/wve.c
2469 Fix error in files generated on big endian systems. Robustify parsing.
2470
2471 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2472
2473 * src/double64.c
2474 Fix clipping of double to short conversions on 64 bit systems.
2475
2476 * src/flac.c regtest/database.c tests/cpp_test.cc
2477 Fix compile warnings for 64 bit systems.
2478
2479 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2480
2481 * src/wav.c src/wav_w64.c
2482 Use audio detect function when 'fmt ' chunk data is suspicious.
2483
2484 * configure.ac
2485 Add ugly hack to remove -Werror from some Makefiles.
2486
2487 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2488
2489 * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
2490 Add patch from André Pang to clean up compiles on OSX.
2491
2492 * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
2493 examples/sndfile-convert.c
2494 Merge changes from Reuben Thomas to improve WVE support.
2495
2496 * tests/lossy_comp_test.c tests/Makefile.am
2497 Add tests for WVE files.
2498
2499 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2500
2501 * src/sndfile.hh
2502 Add a static SndfileHandle::formatCheck method as suggested by Jorge
2503 Jiménez.
2504
2505 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2506
2507 * src/sndfile.c
2508 Fixed a bug in sf_error() where the function itself was being compared
2509 against zero. Add a check for a NULL return from peak_info_calloc. Fix a
2510 possible NULL dereference.
2511
2512 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2513
2514 * src/flac.c
2515 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
2516 opening file for RDWR.
2517
2518 * src/sndfile.c
2519 Improve error message for SFE_BAD_RDWR_FORMAT.
2520
2521 * src/mat4.c
2522 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
2523
2524 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2525
2526 * doc/FAQ.html
2527 Add Q/A 19 on project files.
2528
2529 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2530
2531 * src/sndfile.c
2532 Guard agains MacOSX universal binary compiles.
2533
2534 * doc/FAQ.html
2535 Add Q/A 18 and clean up Q3.
2536
2537 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2538
2539 * src/aiff.c
2540 Add support for 'in24' files.
2541
2542 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2543
2544 * src/wav.c src/wav_w64.c src/wav_w64.h
2545 Start work towards detecting ausio codec type from the actual audio data.
2546
2547 * src/audio_detect.c src/test_audio_detect.c
2548 Add new file and its unit test.
2549
2550 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2551
2552 * examples/cooledit-fixer.c examples/Makefile.am
2553 Remove old broken example program.
2554
2555 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2556
2557 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
2558 Add function sf_get_info.
2559
2560 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2561
2562 * examples/sndfile-play.c
2563 For ALSA, use the 'default' device instead of 'plughw:0'.
2564
2565 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2566
2567 * src/sndfile.c
2568 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
2569
2570 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2571
2572 * doc/development.html doc/embedded_files.html man/sndfile-play.1
2573 Minor documentation fixes. Thanks Reuben Thomas.
2574
2575 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2576
2577 * examples/sndfile-convert.c
2578 Add -override-sample-rate command line option.
2579
2580 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2581
2582 * tests/misc_test.c
2583 Force errno to zero at start of some tests.
2584
2585 * src/sndfile.c
2586 Minor clean up of error handling.
2587
2588 * configure.ac
2589 Remove an assembler test which was failing on OSX.
2590
2591 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2592
2593 * src/common.h
2594 Fix the definition of SF_PLATFORM_S64 for MinGW.
2595
2596 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
2597 Fix path problems for MinGW.
2598
2599 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2600
2601 * src/sfendian.h
2602 Add include guard.
2603
2604 * src/Makefile.am src/flac.c
2605 Clean up include paths.
2606
2607 * src/test_conversions.c
2608 New file to test psf_binheader_readf/writef functions.
2609
2610 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
2611 Clean up unit testing.
2612
2613 * src/common.c
2614 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
2615 for reporting this.
2616
2617 * src/test_conversions.c
2618 Complete unit test for above fix.
2619
2620 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2621
2622 * src/sndfile.c
2623 More refactoring to clean up psf_open_file() and vairous sf_open()
2624 functions.
2625
2626 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2627
2628 * src/wav.c
2629 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
2630 files of over 4 gigabytes.
2631
2632 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2633
2634 * src/sndfile.c
2635 Refactor function psf_open_file() to provide a single return point.
2636
2637 * tests/misc_test.c
2638 Fix permission_test to ensure that read only file can be created.
2639
2640 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2641
2642 * src/common.h
2643 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
2644 bit integers.
2645
2646 * src/aiff.c src/svx.c src/wav.c
2647 Add warning in log if files are larger than 4 gigabytes in size.
2648
2649 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2650
2651 * src/FLAC src/OGG confgure.ac src/Makefile.am
2652 Pull in all required FLAC and OGG code so external libraries are not
2653 needed. This makes compiling on stupid fscking Windoze easier.
2654
2655 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2656
2657 * src/sd2.c
2658 Add workaround for switched sample rate and sample size.
2659
2660 * src/wav.c
2661 Add workaround for excessively long coding history in the 'bext' chunk.
2662
2663 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2664
2665 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
2666 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
2667
2668 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2669
2670 * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
2671 Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
2672 files. Still needs a little tweaking before its ready for release.
2673
2674 * src/*.c
2675 Use the UNUSED macro to prevent compiler warnings.
2676
2677 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2678
2679 * src/aiff.c
2680 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
2681 to David Viens for providing two example files.
2682
2683 * src/common.(c|h) src/aiff.c
2684 Add a function psf_sanitize_string and use it in aiff.c.
2685
2686 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2687
2688 * src/wav_w64.c
2689 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
2690
2691 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2692
2693 * src/Makefile.am
2694 Fix problem related to recent test coverage changes.
2695
2696 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2697
2698 * configure.ac tests/Makefile.am
2699 Add --enable-test-coverage configure option.
2700
2701 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2702
2703 * src/sndfile.hh
2704 Add an std::string SndfileHandle constructor.
2705
2706 * tests/scale_clip_test.tpl
2707 Fix the 'make distcheck' target.
2708
2709 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2710
2711 * src/double64.c src/float32.c
2712 Add optional clipping on float file data to int read data conversions.
2713
2714 * tests/tests/scale_clip_test.(def|tpl)
2715 Add test for above new code.
2716
2717 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2718
2719 * tests/aiff_rw_test.c
2720 Add 'MARK' chunks to make sure they are parsed correctly.
2721
2722 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2723
2724 * src/aiff.c
2725 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
2726 help debug the problem.
2727
2728 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2729
2730 * src/common.h
2731 Make the SF_MIN and SF_MAX macros at least partially type safe.
2732
2733 * tests/lossy_comp_test.c
2734 Fix overflow problems when ensuring that signalis not zero.
2735
2736 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2737
2738 * configure.ac docs/*.html
2739 Changes for release 1.0.17.
2740
2741 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2742
2743 * src/flac.c
2744 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
2745 for notifying me of this.
2746
2747 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2748
2749 * src/sndfile.hh
2750 Add writeSync method.
2751 Add copy constructor and assignment operator (thanks Daniel Schmitt).
2752 Add methods readRaw and writeRaw.
2753 Make read/write/readf/writef simple overlaods instead of templates (thanks
2754 to Trent Apted for suggesting this).
2755
2756 * tests/cpp_test.cc
2757 Cleanup. Add tests.
2758
2759 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2760
2761 * src/sndfile.hh
2762 Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
2763 Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
2764 openReadWrite methods.
2765 Add const to SF_INFO pointer in Sndfile constructor.
2766 Make the destrictor call the close() method.
2767
2768 * tests/cpp_test.cc
2769 Add more tests.
2770
2771 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2772
2773 * tests/cpp_test.cc
2774 Remove the generated file so "make distcheck" passes.
2775
2776 * src/Makefile.am
2777 Add sndfile.hh to distributed header files.
2778
2779 * src/sndfile.hh
2780 Change the license for the C++ wrapper to modified BSD.
2781
2782 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2783
2784 * src/sndfile.hh
2785 Complete it.
2786
2787 * tests/cpp_test.cc
2788 Add more tests.
2789
2790 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2791
2792 * tests/utils.tpl
2793 Add extern C to generated header file.
2794
2795 * src/sndfile.hh
2796 Work towards completing this.
2797
2798 * tests/cpp_test.cc tests/Makefile.am
2799 Add a C++ test and hook into build.
2800
2801 * configure.ac
2802 Add appropriate CXXFLAGS.
2803
2804 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2805
2806 * configure.ac
2807 Test if compiler supports -Wpointer-arith.
2808
2809 * src/common.c
2810 Fix a warning resulting from -Wpointer-arith.
2811
2812 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2813
2814 * examples/sndfile-play.c
2815 Explicitly set endian-ness as well as setting 16 bit output.
2816
2817 * examples/sndfile-info.c
2818 Make sure to parse info if file fails to open.
2819
2820 * src/sndfile.c
2821 Handle parse error a little better.
2822
2823 * src/wav_w64.[ch]
2824 Minor clean up, add detection of IPP ITU G723.1.
2825
2826 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2827
2828 * src/sndfile.c
2829 Make sure psf->dataoffset gets reset to zero when openning headersless
2830 files based on the file name extension.
2831
2832 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2833
2834 * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
2835 tests/write_read_test.(tpl|def)
2836 Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
2837 break strict-aliasing rules".
2838
2839 * examples/cooledit-fixer.c
2840 More fixes like above.
2841
2842 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2843
2844 * src/file_io.c
2845 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
2846 correctly.
2847
2848 * src/sndfile.c
2849 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
2850
2851 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2852
2853 * configure.ac
2854 Fixed detection of S_IRGRP.
2855
2856 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2857
2858 * sndfile-convert.c
2859 Add conversion SF_INSTRUMENT data when present.
2860
2861 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2862
2863 * doc/development.html
2864 Removed references to tla on windows.
2865
2866 * src/common.h src/sndfile.c
2867 Add separate void pointers for file containter and file codec data to
2868 SF_PRIVATE struct. Still need to move all existing fdata pointers.
2869
2870 * tests/write_read_test.tpl
2871 Change the order of some tests.
2872
2873 * src/aiff.c
2874 When writing 'AIFC' files, make sure get an 'FVER' gets added.
2875
2876 * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
2877 src/(sndfile|voc|vox_adpcm|xi).c
2878 Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
2879
2880 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2881
2882 * Win32/testprog.c Win32/Makefile.am
2883 Add a minimal win32 test program.
2884
2885 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
2886 Update readme and Mingw build script.
2887
2888 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2889
2890 * configure.ac acinclude.m4
2891 Minor fixes for Solaris.
2892
2893 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2894
2895 * src/test_endswap.(def|tpl)
2896 Fix printf formatting for int64_t on 64 bit machines.
2897
2898 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2899
2900 * src/binhead_check.py
2901 New file to check for bad parameters passed to psf_binheader_writef().
2902
2903 * src/Makefile.am
2904 Hook into test suite.
2905
2906 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
2907 Fix bugs found by new test program.
2908
2909 * src/double64.c
2910 Clean up double64_get_capability().
2911
2912 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2913
2914 * src/wav_w64.c
2915 Fix a bug on x86_64 where an int was being passed via stdargs and being
2916 read using size_t which is 64 bits. Thenks to John ffitch for giving me a
2917 login on his box.
2918
2919 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2920
2921 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
2922 tests/utils.tpl
2923 Fix a couple of signed/unsigned problems.
2924
2925 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2926
2927 * tests/command_test.c
2928 Add channel map tests.
2929
2930 * src/common.h src/sndfile.c
2931 Add a pointer the the SF_PRIVATE struct and make sure it gets freed in
2932 sf_close().
2933
2934 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2935
2936 * configure.ac doc/(command|index|api).html NEWS README
2937 Updates for 1.0.16 release.
2938
2939 * src/sndfile.h.in
2940 Define enums for channel mapping.
2941
2942 * examples/sndfile-info.c
2943 Clean up usage of SF_INFO struct.
2944
2945 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2946
2947 * tests/util.tpl
2948 Add function testing function exit_if_true().
2949
2950 * tests/floating_point_test.tpl
2951 Fix a problem where the test program was not exiting when the test failed.
2952
2953 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2954
2955 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
2956 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
2957
2958 * doc/commands.html
2959 Document new commands. Other minor updates.
2960
2961 * tests/peak_chunk_test.c
2962 Update tests for new commands.
2963
2964 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2965
2966 * tests/peak_chunk_test.c
2967 Add test for RIFX and WAVEX files.
2968 Try and confuse the PEAK chunk writing by enabling and disabling it.
2969
2970 * src/sndfile.c
2971 Fix a bug where enabling and disabling PEAK chunk was screwing up.
2972
2973 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2974
2975 * src/sndfile.h.in
2976 Add the block of 190 reserved bytes into this struct to allow for
2977 future expansion.
2978
2979 * src/wav.c src/sndfile.c src/broadcast.c
2980 Significant cleanup of broadcast wave stuff.
2981
2982 * examples/sndfile-info.c
2983 Fix print message.
2984
2985 * tests/command_test.c tests/Makefile.am
2986 Complete bext tests, hook test in test suite.
2987
2988 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2989
2990 * src/sndfile.h.in
2991 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
2992 of a char pointer.
2993
2994 * src/sndfile.c src/common.h src/wav.c
2995 Clean up knock on effects of above chnage.
2996
2997 * examples/sndfile-info.c
2998 Add -b command line option to usage message.
2999 Clean up output of broadcast wave info.
3000
3001 * src/wav.c
3002 Ignore and skip the 'levl' chunk.
3003
3004 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3005
3006 * configure.ac
3007 Fix handling of --enable and --disable configure args. Thanks to Diego
3008 'Flameeyes' Pettenò who sent the patch.
3009
3010 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3011
3012 * doc/win32.html
3013 Make it really clear that although the MSVC++ cannot compile libsndfile,
3014 the precompiled DLL can be used in C++ programs compiled with MSVC++.
3015
3016 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3017
3018 * src/aiff.c
3019 Fix bug in writing of INST chunk in AIFF files.
3020 Fix potential bug in writing MARK chunks.
3021
3022 * src/sndfile.c
3023 Make sure the instrument chunk can only be written at the start of the file.
3024
3025 * tests/command_test.c
3026 Add check of log buffer.
3027
3028 * tests/utils.tpl
3029 Add usage of space character to psf_binheader_writef.
3030
3031 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3032
3033 * src/Makefile.am tests/Makefile.am
3034 Remove --source-time argument from autogen command lines.
3035
3036 * src/broadcast.c
3037 New file for EBU Broadcast chunk in WAV files.
3038
3039 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
3040 Add patch from Paul Davis implementing read/write of the BEXT chunk.
3041
3042 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3043
3044 * Win32/README-precompiled-dll.txt
3045 New file descibing how to use the precompiled DLL.
3046
3047 * Win32/Makefile.am
3048 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
3049
3050 * configure.ac
3051 Bump version to 1.0.15.
3052
3053 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3054
3055 * src/wav.c
3056 On read, only add the endian flag if the file is big endian.
3057
3058 * src/ms_adpcm.c
3059 Fixed writing of APDCM coeffs in RIFX files.
3060
3061 * tests/write_read_test.tpl tests/lossy_comp_test.c
3062 Add tests for RIFX files.
3063
3064 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3065
3066 * Mingw-make-dist.sh
3067 Bunch of improvements.
3068
3069 * doc/win32.html
3070 Update MinGW program versions.
3071
3072 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3073
3074 * src/create_symbols_file.py
3075 Fix the library name in created win32 DEF file. Add correct DLL name for
3076 Cygwin DLL.
3077
3078 * Win32/Makefile.am tests/Makefile.am
3079 Remove redundant files, add win32_ordinal_test to test suite.
3080
3081 * tests/win32_ordinal_test.c
3082 Update to do test in cygsndfile-1.dll as well.
3083
3084 * doc/win32.html
3085 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
3086
3087 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
3088 Apply large patch from Jesse Chappell which adds support for RIFX files.
3089
3090 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3091
3092 * Makefile.am
3093 Add Mingw-make-dist.sh to the extra dist files.
3094
3095 * configure.ac
3096 Fix setting SHLIB_VERSION_ARG for MinGW.
3097
3098 * tests/win32_ordinal_test.c
3099 New test program to test that the win32 DLL ordinals agree with the DEF
3100 file.
3101
3102 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3103
3104 * src/common.h
3105 Add a static inline function to convert an int to a size_t. This will be
3106 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
3107
3108 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
3109 Fix an ia64 problem where a varargs function was being passed an int in
3110 some places and a size_t in other places.
3111
3112 * src/sd2.c
3113 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
3114 to the start of the resource fork.
3115
3116 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3117
3118 * Mingw-make-dist.sh
3119 Add a shell script to build the windows binary/source ZIP file.
3120
3121 * doc/index.html
3122 Add download link for windows binary/source ZIP file. Add links for GPG
3123 signatures.
3124
3125 * doc/win32.html
3126 Remove info about building using microsoft compiler.
3127
3128 * configure.ac
3129 Bump version to 1.0.14.
3130
3131 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3132
3133 * src/sd2.c
3134 Improve logging of errors in resource fork parser.
3135
3136 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3137
3138 * Win32/Makefile.msvc
3139 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
3140
3141 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3142
3143 * src/common.c
3144 Make sure return values are initialised header buffer is full.
3145
3146 * src/wav.c
3147 Add workarounds for messed up WAV files.
3148
3149 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3150
3151 * Win32/config.h
3152 Undef HAVE_INTTYPES_H for win32.
3153
3154 * tests/command_test.c
3155 Don't exit on error in instrument test for XI files.
3156
3157 * configure.ac
3158 Bump version to 1.0.13.
3159
3160 * doc/*.html NEWS README
3161 Update version numbers.
3162
3163 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3164
3165 * src/xi.c
3166 Start work on add read/write of instrument chunks.
3167
3168 * src/command_test.c
3169 Add tests for XI instrument chunk.
3170
3171 * tests/largefile_test.c tests/Makefile.am
3172 Add new test and hook it into the build system. This test will not be run
3173 automatically because it requires 3 Gig of disk space and takes 3 minutes
3174 to run.
3175
3176 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3177
3178 * examples/sndfile-play.c
3179 Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
3180
3181 * src/common.h
3182 Make sure length of header buffer can hold header plus strings. Thanks Axel
3183 Röbel.
3184
3185 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3186
3187 * src/sndfile.h.in src/aiff.c src/wav.c
3188 Apply a patch from John ffitch (Csound project).
3189 Add detune field to SF_INSTRUMENT struct.
3190 Add reading/writing instrument chunks to WAV files.
3191
3192 * tests/command_test.c
3193 Update SF_INSTRUMENT tests.
3194
3195 * tests/Makefile.am
3196 Hook instrument tests into test suite.
3197
3198 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3199
3200 * configure.ac
3201 Check for <inttypes.h> because some broken systems (like Solaris) don't have
3202 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
3203
3204 * src/sfendian.h src/common.h
3205 Use <inttypes.h> if <stdint.h> is not available.
3206
3207 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3208
3209 * tests/peak_chunk_test.c
3210 Extend and clean up tests.
3211
3212 * src/sndfile.c
3213 Fix a bug that prevented the turning off of PEAK chunks.
3214
3215 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3216
3217 * tests/error_test.c
3218 Make the test distclean correct.
3219
3220 * src/file_io.c
3221 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
3222
3223 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3224
3225 * src/aiff.c tests/command_test.c
3226 Apply a big patch from John ffitch (Csound project) to add reading and
3227 writing of instrument chunks to AIFF files. Also update the test.
3228
3229 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3230
3231 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
3232 Move test function dump_data_to_file() to utils.tpl.
3233
3234 * tests/error_test.c tests/Makefile.am
3235 Updates, including a new test to test that sf_error() returns a valid error
3236 number.
3237
3238 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3239
3240 * examples/list_formats.c
3241 Make sure the SF_INFO struct is memset to all zero before being used.
3242 Thanks to Stephen F. Booth.
3243
3244 * src/sndfile.c
3245 Make the return value of sf_error() match the API documentation.
3246
3247 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3248
3249 * examples/sndfile-convert.c
3250 Allow conversion to raw gsm610.
3251
3252 * src/common.h src/sndfile.c src/au.c
3253 Remove au_nh_open() and all references to it (wasn't working anyway).
3254
3255 * tests/headerless_test.c
3256 Add new test for file extension based detection.
3257
3258 * src/sndfile.c
3259 Rejig file extension based file type detection.
3260
3261 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3262
3263 * src/sndfile.c
3264 Add "gsm" as a recognised file extension when no magic number can be found.
3265
3266 * tests/lossy_comp_test.c tests/Makefile.am
3267 Test headerless GSM610.
3268
3269 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3270
3271 * doc/api.html
3272 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
3273
3274 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3275
3276 * src/wav_w64.c
3277 Add more reporting of 'fmt ' chunk for G721 encoded files.
3278
3279 * src/wav.c
3280 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
3281
3282 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3283
3284 * src/G72x/g72x.[ch]
3285 Minor cleanup of interface.
3286
3287 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3288
3289 * src/ogg.c
3290 Removed the horribly broken and non-functional OGG implementation when
3291 --enable-experimental was enabled. When OGG does finally work it will be
3292 merged.
3293
3294 * src/caf.c
3295 Fix a memory leak.
3296
3297 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3298
3299 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
3300 Add support for G721 encoded WAV files.
3301
3302 * doc/index.html
3303 Update support matrix.
3304
3305 * tests/lossy_comp_test.c
3306 For file formats that support it, add string data after the audio data and
3307 make sure it isn't treated as audio data on read.
3308
3309 * src/gsm610.c
3310 Add code to ensure that the container close function (ie for WAV files) gets
3311 called after the codec's close function. This allows GSM610 encoded WAV files
3312 to have string data following the audio data.
3313 Add an AIFF specific check on psf->datalength.
3314
3315 * src/wav.c
3316 Simplify wav_close function.
3317
3318 * src/aiff.c
3319 Make sure the tailer data gets written at an even file offset. Pad if
3320 necessary.
3321
3322 * src/common.h
3323 Replace the close function pointer in SF_PRIVATE with separate functions
3324 codec_close and container_close. The former is always called first.
3325
3326 * src/*.c
3327 Fix knock on effects of above.
3328
3329 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3330
3331 * examples/sndfile-info.c
3332 Complete dumping SF_INSTRUMENT data.
3333
3334 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
3335 Add extra checks in *_init function.
3336
3337 * tests/lossy_comp_test.c
3338 Add a string comment to the end of the files to make sure that the decoder
3339 doesn't decode beyond the end of the audio data section.
3340
3341 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3342
3343 * examples/sndfile-info.c
3344 Minor code cleanup.
3345 Start work on dumping SF_INSTRUMENT data.
3346
3347 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3348
3349 * src/sndfile.h.in src/common.h src/common.c
3350 Update definition of SF_INSTRUMENT struct and create a function to allocate
3351 and initialize the struct (input from David Viens).
3352 Clean up definition of SF_INSTRUMENT struct.
3353
3354 * src/wav.c src/wav_w64.c
3355 Add support for Ambisoncs B WAVEX files (David Viens).
3356
3357 * src/aiff.c src/wav.c src/wav_w64.c
3358 Start work on reading/writing the SF_INSTRUMENT data.
3359
3360 * src/sndfile.c
3361 Add code to get and set SF_INSTRUMENT data.
3362
3363 * tests/command_test.* tests/Makefile.am
3364 Add test for set and getof SF_INSTRUMENT data.
3365 The file command_test.c is no longer autogen generated.
3366
3367 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3368
3369 * src/gsm610.c
3370 Minor cleanup.
3371
3372 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3373
3374 * tests/lossy_comp_test.c
3375 Minor cleanup.
3376
3377 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3378
3379 * src/*.c
3380 Ensure sfconfig.h is included before any other header file.
3381
3382 * src/file_io.c
3383 Add comments documenting the three sections of the file.
3384
3385 * src/gsm610.c
3386 Make sure SF_FORMAT_WAVEX are handled correctly.
3387
3388 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3389
3390 * configure.ac
3391 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
3392
3393 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3394
3395 * tests/locale_test.c
3396 Modify the way the unicode strings were encoded so that older compilers
3397 do not complain. Thanks Axel Röbel.
3398
3399 * configure.ac
3400 Bump the version to 1.0.12 for release.
3401
3402 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
3403 Update version numbers.
3404
3405 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3406
3407 * src/flac.c
3408 Fix valgrind error and minor cleanup.
3409
3410 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3411
3412 * src/(au|paf|aiff|w64|wav|svx).c
3413 Make sure structs are initialised.
3414
3415 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3416
3417 * configure.ac
3418 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
3419 option.
3420 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
3421 compiler supports it.
3422
3423 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3424
3425 * configure.ac acinclude.m4
3426 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
3427
3428 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3429
3430 * tests/util.(tpl|def)
3431 Make the test_write_*_or_die() functions const safe.
3432
3433 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3434
3435 * src/nist.c
3436 Make sure the data offset is read from the file header. Thanks to
3437 David A. van Leeuwen for a patch.
3438
3439 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3440
3441 * configure.ac src/sfconfig.h
3442 Check for <locale.h> and the function setlocale().
3443 Set config variables to zero if not found.
3444
3445 * tests/locale_test.c tests/Makefile.am
3446 Add new test program and hook into build/test system.
3447
3448 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3449
3450 * src/common.h src/file_io.c
3451 On windows, use windows specific types for file handles.
3452 Add functions psf_init_files() and psf_use_rsrc().
3453
3454 * src/sd2.c
3455 Make resource fork handling independant of file desciptor/handles.
3456
3457 * src/sndfile.c src/test_file_io.c
3458 Fix knock on effects.
3459
3460 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3461
3462 * src/float_cast.h
3463 The lrint and lrintf implementations in Cygwin are both buggy and slow.
3464 Add replacements which were pulled from the Public Domain MinGW math.h
3465 header file.
3466
3467 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3468
3469 * tests/(lossy_comp_test|virtual_io_test).c
3470 More Valgrind fixups.
3471
3472 * configure.ac
3473 Simplify and correct configuring for Cygwin.
3474
3475 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
3476 Update build for MSVC.
3477
3478 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3479
3480 * tests/lossy_comp_test.c
3481 Make sure to close SNDFILE when exiting test when file format is not seekable.
3482
3483 * tests/(aiff_rw_test|virtual_io_test).c
3484 Do a few valgrind fix ups.
3485
3486 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3487
3488 * src/float32.c src/double64.c
3489 Replace floating point equality comparisons with greater/less comparisons.
3490 Found by John Pavel using the Intel compiler.
3491
3492 * src/sfconfig.h
3493 New file to clean up issues surrounding autoconf generated preprocessor
3494 symbols.
3495
3496 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
3497 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
3498
3499 * src/file_io.c
3500 Remove Mac OS9 Metrowerks compiler specific hacks.
3501
3502 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3503
3504 * src/w64.c
3505 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
3506 prevent Valgrind error.
3507
3508 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3509
3510 * doc/command.html
3511 Improve documentation of SF_GET_FORMAT_SUBTYPE.
3512
3513 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3514
3515 * examples/sndfile-convert.c
3516 Allow files to be converted to SD2 format.
3517
3518 * src/sd2.c
3519 Fix a bug in reading and writing of SD2 files on little endian CPUs.
3520 Thanks to Matthew Willis for finding this.
3521
3522 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3523
3524 * doc/api.html
3525 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
3526
3527 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3528
3529 * configure.ac
3530 Use $host_os instead of $target_os (thanks to Mo De Jong).
3531
3532 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3533
3534 * src/Makefile.am
3535 Apply a patch from Mo DeJong to allow building outside of the source dir.
3536
3537 * src/file_io.c
3538 Fix psf_fsync() for win32.
3539
3540 * src/wav.c src/wav_w64.(c|h)
3541 Move some code from wav.c to wav_w64.c to improve the log output of files of
3542 type WAVE_FORMAT_EXTENSIBLE.
3543
3544 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3545
3546 * src/create_symbols_file.py
3547 Make sure sf_write_fsync is an exported symbol.
3548
3549 * examples/sndfile-convert.c
3550 Add support for writing VOX adpcm files.
3551
3552 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3553
3554 * doc/api.html
3555 Document the new function sf_write_sync().
3556
3557 * doc/FAQ.html
3558 Do you plan to support XYZ codec.
3559
3560 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3561
3562 * src/sndfile.h.in src/sndfile.c
3563 Add function sf_write_sync() to the API.
3564
3565 * src/common.h src/file_io.c
3566 Low level implementation (win32 not done yet).
3567
3568 * tests/write_read_test.tpl
3569 Use the new function in the tests.
3570
3571 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3572
3573 * src/common.h src/double64.c src/float32.c src/sndfile.c
3574 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
3575 for position and a double as the value.
3576
3577 * src/aiff.c src/caf.c src/wav.c
3578 Fix knock on effects of above changes.
3579
3580 * src/caf.c
3581 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
3582 SF_FORMAT_DOUBLE format.
3583
3584 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3585
3586 * src/nist.c
3587 Fix a bug where a variable was being used without being initialized.
3588
3589 * src/flac.c
3590 Add extra debug in sf_flac_meta_callback.
3591 Make a bunch of private functions static.
3592
3593 * src/aiff.c src/wav.c
3594 Fix allocation for PEAK_CHUNK (bug found using valgrind).
3595
3596 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3597
3598 * src/common.h
3599 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
3600 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
3601 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
3602
3603 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
3604 Fix knock on effects from above.
3605
3606 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3607
3608 * src/wav.c
3609 Prevent files with unknown chunks from being opened read/write.
3610
3611 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3612
3613 * src/flac.c
3614 Do not use psf->end_of_file because it never gets set to anything.
3615
3616 * src/common.h
3617 Remove unused SF_PRIVATE field end_of_file.
3618
3619 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3620
3621 * src/common.c
3622 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
3623 style strings (no terminating character).
3624
3625 * src/aiff.c
3626 Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
3627 so persistent on this issue.
3628
3629 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3630
3631 * src/sndfile.c
3632 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3633
3634 * doc/api.html doc/command.html
3635 Documentation updates (thanks to Kyroz for promoting these updates).
3636
3637 * src/mat5.c
3638 Modify the way the header is written.
3639
3640 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3641
3642 * src/caf.c
3643 Add a 'free' chunk to the written file so that the audio data starts at
3644 an offset of 0x1000.
3645
3646 * src/sndfile.c
3647 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3648
3649 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3650
3651 * src/caf.c src/sndfile.c
3652 Add support for signed 8 bit integers.
3653
3654 * tests/write_read_test.tpl
3655 Add test for signed 8 bit integers in CAF files.
3656
3657 * doc/index.html
3658 Update matrix for signed 8 bit integers in CAF files.
3659
3660 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3661
3662 * src/sndfile.c
3663 Update sf_check_format() to support CAF.
3664
3665 * examples/sndfile-convert.c
3666 Add support for ".caf" file extension.
3667
3668 * doc/index.html
3669 Add Apple CAF to the support matrix.
3670
3671 * src/caf.c
3672 Add file write support.
3673
3674 * src/common.c
3675 Fix printing of Frames.
3676
3677 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
3678 tests/header_test.tpl misc_test.c
3679 Add tests for CAF files.
3680
3681 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3682
3683 * doc/FAQ.html
3684 Fix Q/A about reading/writing memory buffers.
3685
3686 * src/caf.c
3687 Bunch of work to support reading of CAF files.
3688
3689 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3690
3691 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
3692 Fix sign conversion errors reported by gcc-4.0.
3693
3694 * src/caf.c
3695 New file for Apple's Core Audio File format.
3696
3697 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
3698 Hook new file into build system.
3699
3700 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3701
3702 * src_wav_w64.c
3703 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
3704 for supplying an example file.
3705
3706 * src/common.h src/sndfile.c
3707 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
3708
3709 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3710
3711 * src/sndfile.h.in src/common.h src/sndfile.c
3712 Add public error value SF_ERR_MALFORMED_FILE.
3713
3714 * src/sndfile.c
3715 When parsing a file header fails and we don't have a system error, then set
3716 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
3717
3718 * configure.ac
3719 Allow sqlite support to be disabled in configure script.
3720
3721 * regtest/database.c regtest/sndfile-regtest.c
3722 Fix compiling when sqlite is missing.
3723
3724 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3725
3726 * src/file_io.c
3727 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
3728
3729 * src/sndfile.c
3730 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
3731
3732 * tests/virtual_io_test.c
3733 Fill in skeleton test program.
3734
3735 * tests/Makefile.am
3736 Move virtual i/o tests to end of tests with stdio/pipe tests.
3737
3738 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
3739 Rename some of the virtual i/o functions and data types.
3740
3741 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3742
3743 * src/sndfile.c
3744 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
3745 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
3746 Kyroz for pointing out these errors.
3747
3748 * doc/command.html
3749 Correct documented return values for SFC_SET_NORM_DOUBLE and
3750 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
3751
3752 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3753
3754 * regtest/*
3755 Add new files for sndfile-regtest program.
3756
3757 * configure.ac Makefile.am
3758 Hook regetest into build.
3759
3760 * src/wav.c src/common.c
3761 Fix a regression where long ICMT chunks were causing the WAV parser
3762 to exit.
3763
3764 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3765
3766 * libsndfile.spec.in
3767 Add html docs to the files section as suggested by Karsten Jeppesen.
3768
3769 * src/aiff.c
3770 Fix parsing of odd length ANNO chunks.
3771
3772 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3773
3774 * src/common.h
3775 Change the include guard to prevent clashes with other code.
3776
3777 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3778
3779 * examples/sndfile-play.c
3780 Improve error handling in code for playback under Linux/ALSA.
3781
3782 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3783
3784 * src/ircam.c
3785 Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
3786
3787 * src/wav.c
3788 Add workaround for files created by the Peak audio editor on Mac which can
3789 produce files with very short LIST chunks (thanks to Jonathan Segel who
3790 supplied the file).
3791
3792 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3793
3794 * src/aiff.c
3795 Apply a patch From David Viens to make the parsing of basc chunks more
3796 robust.
3797
3798 * src/wav.c
3799 Another patch from David Viens to write correct wavex channel masks for
3800 the most common channel configurations.
3801
3802 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3803
3804 * src/command.c
3805 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
3806 Leigh Smith.
3807
3808 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3809
3810 * src/common.h
3811 Add a directory field for storing the file directory to the SF_PRIVATE
3812 struct.
3813
3814 * src/sndfile.c
3815 Grab the directory name when copying the file path.
3816
3817 * src/file_io.c
3818 Cleanup psf_open_rsrc() and also check for resource fork in
3819 .AppleDouble/filename.
3820
3821 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3822
3823 * src/svx.c
3824 Fix a bug in the printing of the channel count. Bug reported by Michael
3825 Schwendt. Thanks.
3826
3827 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3828
3829 * src/paf.c
3830 Fix a seek bug for 24 bit PAF files.
3831
3832 * tests/write_read_test.tpl
3833 Update write_read_test to trigger the previously hidden PAF seek bug.
3834
3835 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3836
3837 * src/aiff.c src/w64.c src/wav.c
3838 Do not return a header parse error when the log buffer overflows.
3839 Continuing parsing works even on files where the log buffer does overflow.
3840 This avoids a bug on some weirdo WAV (and other) files.
3841
3842 * src/common.h src/sndfile.c
3843 Remove SFE_LOG_OVERRIN error and its associated error message.
3844
3845 * src/file_io.c
3846 Fix a rsrc fork problem on MacOSX.
3847
3848 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3849
3850 * src/sndfile-play.c
3851 In the ALSA output code, added call to snd_pcm_drain() just before
3852 snd_pcm_close() as suggested by Thomas Kaeding.
3853 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
3854 SNDCTL_DSP_SYNC) just before the close of the audio device.
3855
3856 * tests/virtual_io_test.c tests/Makefile.am
3857 Add a new test program (currently empty) and add it to the build.
3858
3859 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3860
3861 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
3862 src/create_symbols_file.py
3863 Apply patch from Steve Baker which is the beginnings of a virtual
3864 I/O interface.
3865
3866 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3867
3868 * src/*.c src/sndfile.h.in
3869 Const-ify the write path throughout the library.
3870
3871 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3872
3873 * doc/development.html
3874 Minor improvements.
3875
3876 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3877
3878 * doc/bugs.html
3879 Minor improvements.
3880
3881 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3882
3883 * src/aiff.c
3884 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
3885
3886 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3887
3888 * doc/FAQ.html
3889 Remove some ambiguities in the SD2 FAQ answer.
3890
3891 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3892
3893 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
3894 Updates from autoconfig versions.
3895
3896 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3897
3898 * src/aiff.c
3899 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
3900 instead of COMT chunk.
3901
3902 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3903
3904 * src/file_io.c src/common.h
3905 Change the ptr argument to psf_write() from "void*" to a "const void*".
3906 Thanks to Tobias Gehrig for suggesting this.
3907
3908 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3909
3910 * src/file_io.c src/common.h
3911 Add functions psf_close_rsrc() and read length of resourse fork into
3912 rsrclength field of SF_PRIVATE.
3913
3914 * src/sd2.c
3915 Make sure resource fork gets closed.
3916
3917 * tests/util.tpl
3918 Add functions to check for file descriptor leakage.
3919
3920 * src/write_read_test.tpl
3921 Use the file descriptor leak checks.
3922
3923 * src/sndfile.h.in
3924 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
3925
3926 * src/common.h
3927 Add SF_LOOP_INFO pointer to SF_PRIVATE.
3928
3929 * src/wav.c src/aiff.c
3930 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
3931 SF_LOOP_INFO data in SF_PRIVATE.
3932
3933 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3934
3935 * src/sd2.c
3936 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
3937
3938 * Win32/config.h Win32/sndfile.h
3939 Updates.
3940
3941 * tests/util.tpl
3942 Add win32 macro for snprintf.
3943
3944 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3945
3946 * src/sfendian.h
3947 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
3948
3949 * src/sd2.c
3950 Use macros to make sure writing SD2 files on little endian machines works
3951 correctly.
3952
3953 * tests/util.tpl
3954 Add a delete_file() function which also deletes the resource fork of SD2
3955 files.
3956
3957 * tests/write_read_test.tpl
3958 Use delete_file() so that "make distcheck" works.
3959
3960 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3961
3962 * src/sndfile.c src/file_io.c
3963 Move resource filename construction and testing to psf_open_rsrc().
3964
3965 * src/common.h src/sndfile.c
3966 Add error SFE_SD2_FD_DISALLOWED.
3967
3968 * tests/util.tpl tests/*.(c|tpl)
3969 Add and allow_fd parameter to test_open_file_or_die() so that use of
3970 sf_open_fd() can be avoided when opening SD2 files.
3971
3972 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3973
3974 * src/wav.c
3975 Update ACID chunk parsing.
3976
3977 * src/sd2.c
3978 More fixes for files with large resource forks.
3979
3980 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3981
3982 * src/common.h src/sndfile.c
3983 Add error numbers and messages for sd2 files.
3984
3985 * src/sd2.c
3986 Reading of sd2 (resource fork version) now seems to be working.
3987
3988 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3989
3990 * src/file_io.h
3991 Update file_io.c to include win32 psf_rsrc_open().
3992
3993 * tests/floating_point_test.tpl
3994 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
3995
3996 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
3997 Updates.
3998
3999 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4000
4001 * src/sfendian.h
4002 Fix endswap_int64_t_(array|copy).
4003
4004 * src/test_endswap.(tpl|def)
4005 Add tests for above and inprove all tests.
4006
4007 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4008
4009 * src/sfendian.h
4010 Improve type safety, add endswap_double_array().
4011
4012 * src/double64.c
4013 Use endswap_double_array() instead of endswap_long_array().
4014
4015 * src/test_endswap.(tpl|def) src/Makefile.am
4016 Add preliminary endswap tests and hook into build system.
4017
4018 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4019
4020 * src/configure.ac src/makefile.am
4021 Finally fix the bulding of DLLs on Win32/MinGW.
4022
4023 * tests/makefile.am
4024 Fix running of tests on Win32/MinGW.
4025
4026 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4027
4028 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
4029 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
4030
4031 * doc/command.html
4032 Document SFC_SET_SCALE_FLOAT_INT_READ.
4033
4034 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4035
4036 * tests/floating_point_test.(tpl|def)
4037 Derived from floating_point_test.c.
4038 Add (float|double)_(short|int)_test functions.
4039
4040 * tests/util.(tpl|def)
4041 Make separate float and double versions of gen_windowed_sine().
4042
4043 * tests/write_read_test.tpl
4044 Fix after changes to gen_windowed_sine().
4045
4046 * src/(float32|double64).c
4047 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
4048
4049 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4050
4051 * acinclude.m4
4052 Fix warnings from automake 1.8 and later.
4053
4054 * examples/sndfile-info.c
4055 Add a "fflush (stdout)" after printing Win32 message.
4056
4057 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4058
4059 * Win32/Makefile.mingw.in
4060 Add a "make install" target.
4061
4062 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4063
4064 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4065 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
4066
4067 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4068
4069 * examples/sndfile-convert.c
4070 Fix a bug converting stereo integer PCM files to float.
4071
4072 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4073
4074 * examples/sndfile-play.c
4075 Appy patch from Conrad Parker to make Mac OSX error messages more
4076 consistent and informative.
4077
4078 * doc/api.html
4079 Fix a HTML HREF which was wrong.
4080
4081 * doc/win32.html
4082 Add information about when nmake fails.
4083
4084 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4085
4086 * examples/sndfile-play.c
4087 Another patch from Denis Cote to prevent race conditions.
4088
4089 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4090
4091 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
4092 Fix alternative to ISO standard flexible struct array feature for broken
4093 compilers.
4094
4095 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4096
4097 * src/common.h src/string.c src/sndfile.c
4098 Make sf_set_string() return an error if trying to set a string when in
4099 read mode.
4100
4101 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4102
4103 * src/common.h
4104 Change the unnamed union into a named union so gcc-2.95 will compile it.
4105
4106 * src/*.c
4107 Fixes to allow for the above change.
4108
4109 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4110
4111 * examples/sndfile-play.c
4112 Fixes for Win32. Thanks to Denis Cote.
4113
4114 * Win32/Win32/Makefile.(msvc|mingw.in)
4115 Fix build system after removal of sfendian.h.
4116 Build sndfile-convert.
4117
4118 * src/Makefile.am
4119 Remove sfendian.c from dependancies.
4120
4121 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4122
4123 * src/sndfile.h.in
4124 Fix typo in comments (thanks Tommi Sakari Uimonen).
4125
4126 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4127
4128 * tests/(a|u)law_test.c
4129 Minor cleanup.
4130
4131 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4132
4133 * src/(pcm|float|double64|ulaw|alaw|xi).c
4134 Optimise read/write loops by removing a redundant variable.
4135
4136 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4137
4138 * src/file_io.c
4139 Remove call to fsync() in psf_close().
4140
4141 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4142
4143 * src/pcm.c
4144 Inline x2y_array() functions where possible.
4145
4146 * configure.ac
4147 Detect presence of type int64_t.
4148
4149 * src/sfendian.c src/sfendian.h
4150 Move functions in the first file to the sfendian.h as static inline
4151 functions.
4152 Improve endswap_long_*() where possible.
4153
4154 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4155
4156 * src/pcm.c
4157 When converting from unsigned char to float or double, subtract 128 before
4158 converting to float/double rather than after to save a floating point
4159 operation as suggested by Stefan Briesenick.
4160
4161 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
4162 Optimize inner loops by changing the loop counting slightly as suggested
4163 by Stefan Briesenick.
4164
4165 * configure.ac
4166 Detect presence of <byteswap.h>.
4167
4168 * src/sfendian.h
4169 Use <byteswap.h> if present as suggested by Stefan Briesenick.
4170
4171 * src/pcm.c
4172 Update bytewapping.
4173
4174 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4175
4176 * src/common.h src/*.c
4177 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
4178 double, float, int etc elements.
4179
4180 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4181
4182 * examples/sndfile-play.c
4183 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
4184 mono files on MacOSX.
4185
4186 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4187
4188 * examples/sndfile-convert.c
4189 Move copy_metadata() after the second sf_open().
4190
4191 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4192
4193 * examples/sndfile-convert.c
4194 Fix a bug which caused the program to go into an infinite loop if the source
4195 file has no meta-data. Thanks to Ron Parker for reporting this.
4196
4197 * src/sndfile.h.in
4198 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
4199
4200 * Win32/sndfile.h MacOS9/sndfile.h
4201 Update these as per the above file.
4202
4203 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4204
4205 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
4206 src/Makefile.am
4207 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
4208 Annodex support via liboggz and libfishsound. Thanks Conrad.
4209
4210 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4211
4212 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
4213 Add cast to size_t for some parameters passed to psf_binheader_writef. This
4214 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
4215
4216 * src/w64.c
4217 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
4218 chunk.
4219
4220 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4221
4222 * configure.ac
4223 Bump version to 1.0.10 ready for release.
4224
4225 * Makefile.am
4226 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
4227 from distribution tarball.
4228
4229 * tests/header_test.tpl
4230 Fix uninitialised variable.
4231
4232 * src/GSM610/short_term.c
4233 Fix compiler warning on MSVC++.
4234
4235 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4236
4237 * src/wav.c
4238 Improve record keeping of chunks seen and return an error if a file with
4239 unusual chunks is opened in mode SFM_RDWR.
4240
4241 * src/mmreg.h
4242 This file not needed so remove it.
4243
4244 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4245
4246 * tests/header_test.tpl
4247 Add extra_header_test().
4248
4249 * src/common.h src/sndfile.c
4250 Add SFE_RDWR_BAD_HEADER error number and string.
4251
4252 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4253
4254 * tests/utils.tpl tests/*.c tests/*.tpl
4255 Add a line number argument to check_log_buffer_or_die() and update all
4256 files that use that function.
4257
4258 * tests/header_test.tpl
4259 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
4260
4261 * src/aiff.c src/wav.c
4262 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
4263 SFC_UPDATE_HEADER_AUTO.
4264
4265 * src/test_file_io.c
4266 Add a test for psf_ftruncate() function.
4267
4268 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4269
4270 * src/sndfile.c
4271 Fix another weird corner case bug found by Martin Rumori. Thanks.
4272
4273 * tests/header_test.(tpl|def)
4274 Two new files to test for the absence of the above bug and include tests
4275 moved from tests/misc_test.c.
4276
4277 * tests/Makefile.am
4278 Hook new tests into build/test system.
4279
4280 * tests/misc_test.c
4281 Remove update_header_test() which has been moved to the new files above.
4282
4283 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4284
4285 * src/aiff.c
4286 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
4287 with a format of SF_FORMAT_FLOAT and then closed before any data is written
4288 to it, the header can get screwed up (PEAK chunk gets overwritten).
4289
4290 * tests/write_read_test.tpl
4291 Add a test (empty_file_test) for the above bug.
4292
4293 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4294
4295 * Win32/Makefile.mingw.in
4296 Added a Makefile for MinGW (needs to be processed by configure).
4297
4298 * src/mmsystem.h src/mmreg.h
4299 Add files from the Wine project (under the LGPL) to allow build of
4300 sndfile-play.exe under MinGW.
4301
4302 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4303
4304 * src/GSM610/gsm610_priv.h
4305 Replace ugly macros with inline functions.
4306
4307 * src/GSM610/*.c
4308 Remove temporary variables used by macros and other minor fixes required by
4309 above change.
4310
4311 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4312
4313 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
4314 Make sure these programs compile (even though they do nothing) on Win32
4315 and add them to the "make check" target.
4316
4317 * src/sfendian.h
4318 Fix warning on Sparc CPU and code cleanup.
4319
4320 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4321
4322 * src/file_io.c
4323 Fix warning messages when compiling under MinGW.
4324
4325 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4326
4327 * configure.ac
4328 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
4329 accepts the flexible array struct member as per 1999 ISO C standard.
4330
4331 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
4332 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
4333 hack for non 1999 ISO C compliant compilers.
4334
4335 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4336
4337 * src/strings.c
4338 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
4339 string does not already have libsndfile in the string. Thanks to Conrad
4340 Parker.
4341
4342 * tests/string_test.c
4343 Add test to verify the above.
4344
4345 * examples/sndfile-convert.c
4346 Add ability to transcode meta data as well (Conrad Parker).
4347
4348 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4349
4350 * doc/command.html
4351 Fix minor error. Thanks to Simon Burton.
4352
4353 * doc/win32.html
4354 Started adding instructions for compiling libsndfile under MinGW.
4355
4356 * configure.ac
4357 Add --enable-bow-docs to enable black text on a white background HTML docs.
4358
4359 * doc/libsndfile.css.in
4360 This is now a template file for configure which sets the foreground and
4361 background colours.
4362
4363 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4364
4365 * configure.ac
4366 Do some MinGW fixes.
4367
4368 * configure.ac doc/Makefile.am
4369 Install HTML docs when doing make install.
4370
4371 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4372
4373 * examples/sndfile-info.c
4374 Print out the dB level with the signal max.
4375
4376 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4377
4378 * src/file_io.c
4379 Define S_ISSOCK in src/file_io.c if required.
4380
4381 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4382
4383 * configure.ac
4384 Improve printout configuration summary (as suggested by Axel Röbel).
4385
4386 * doc/index.html
4387 Add link to pre-release location.
4388
4389 * src/sndfile.h.in
4390 Remove comma after last element of enum.
4391
4392 * src/float32.c src/double64.c
4393 Fix read/write of float/double encoded raw files to/from pipes.
4394
4395 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
4396 Turn pipe_test.c into an autogenerated file and add tests for reading/
4397 writing floats and doubles.
4398
4399 * tests/Makefile.am
4400 Hook tests/pipe_test.* into build system.
4401
4402 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4403
4404 * configure.ac acinclude.m4
4405 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
4406
4407 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4408
4409 * tests/misc_test.c
4410 Perform update_header_test in RDWR mode as well.
4411
4412 * src/aiff.c
4413 Fix problems when updating header in RDWR mode.
4414
4415 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4416
4417 * src/wav.c src/w64.c src/wav_w64.c
4418 Integrate code supplied by David Viens for supporting microsoft's
4419 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
4420
4421 * configure.ac doc/*.html
4422 Bump version to 1.0.9.
4423
4424 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4425
4426 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
4427 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
4428
4429 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4430
4431 * src/avr.c
4432 New file to handle Audio Visual Resaerch files.
4433
4434 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4435 Hook AVR into everything else.
4436
4437 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
4438 Add testing for AVR files.
4439
4440 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4441
4442 * src/file_io.c
4443 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
4444 Technologie) for coming up with the solution.
4445
4446 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4447
4448 * tests/write_read_test.tpl
4449 Fixed a bug that was causing valgrind to report a memory leak. The bug was
4450 in the test code itself, not the library.
4451
4452 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4453
4454 * examples/generate.cs
4455 An example showing how to use libsndfile from C#. Thanks to James Robson
4456 for providing this.
4457
4458 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4459
4460 * src/common.c
4461 Fix problems with WAV files containing large chunks after the 'data'
4462 chunk. Thanks to Koen Tanghe for providing a sample file.
4463
4464 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4465
4466 * configure.ac
4467 Detect presense of ALSA (Advanced Linux Sound Architecture).
4468
4469 * examples/sndfile-play.c
4470 Add ALSA output support.
4471
4472 * examples/Makefile.am
4473 Add ALSA_LIBS to link line of sndfile-play.c.
4474
4475 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4476
4477 * acinclude.m4
4478 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
4479 the use of the what is known as the struct hack introduced by the 1999 ISO
4480 C Standard.
4481
4482 * configure.ac
4483 The last release would not compile with gcc-2.95 due to the use of features
4484 (ie struct hack) introduced by the 1999 ISO C Standard.
4485 Add check to make sure compiler handles this and bomb out if it doesn't.
4486
4487 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4488
4489 * tests/write_read_test.tpl
4490 Fix compiler warning on Win32.
4491
4492 * src/file_io.c
4493 Fix use of an un-initialised variable in Win32 stuff.
4494
4495 * Win32/config.h examples/sndfile-play.c
4496 Win32 fixes.
4497
4498 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4499
4500 * configure.ac
4501 Fix bug which occurres when configuring for MinGW.
4502 If compiler is gcc and cross compiling use -nostdinc.
4503
4504 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4505
4506 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
4507 src/sndfile.c
4508 Fix a bug with PEAK chunk handling for files with more than 16 channels.
4509 Thanks to Remy Bruno for finding this.
4510
4511 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4512
4513 * src/common.c
4514 Fix a bug which was preventing WAV files being openned correctly if the
4515 file had a very large header. Thanks to Eldad Zack for finding this.
4516
4517 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4518
4519 * configure.ac src/file_io.c
4520 Fix cross-compiling from Linux to Win32 using the MinGW tools.
4521
4522 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4523
4524 * src/create_symbols_file.sh
4525 Christian Weisgerber pointed out that the shell script did not run on a
4526 real Bourne shell although it did run under Bash in Bourne shell mode.
4527
4528 * src/create_symbols_file.py
4529 Rewrite of above in Python. Also add support for writing Win32 .def files.
4530 The Python script generates Symbols.linux, Symbols.darwin and
4531 libsndfile.def (Win32 version). These files get shipped with the tarball
4532 so there should not be necessary to run the Python script when building
4533 the code from the tarball.
4534
4535 * configure.ac src/Makefile.am Win32/Makefile.am
4536 Hook new Python script into the build system.
4537
4538 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4539
4540 * src/configure.ac
4541 Add --enable-gcc-werror option and move GCC specific stuff down.
4542
4543 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4544
4545 * acinclude.m4 configure.ac
4546 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
4547
4548 * src/file_io.c
4549 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
4550 of missing large file support on Linux and Solaris.
4551
4552 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4553
4554 * examples/sndfile-play.c
4555 Fix a MacOSX specific bug which was caused by a space being inserted in
4556 the middle of a file name.
4557
4558 * configure.ac src/Makefile.am examples/Makefile.am
4559 Fix a couple of MacOSX build issues.
4560
4561 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4562
4563 * doc/command.html
4564 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
4565
4566 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4567
4568 * doc/*.html
4569 Applied patch from Frank Neumann (author of lakai) which fixes many minor
4570 typos in documentation. Thanks Frank.
4571
4572 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4573
4574 * ChangeLog
4575 Changed my email address throughout source and docs.
4576
4577 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4578
4579 * src/file_io.c
4580 Make sure config.h is included before stdio.h to make sure large file
4581 support is enabled on Linux (and Solaris).
4582
4583 * tests/misc_test.c
4584 Disable update_header test on Win32. This should work but doesn't and
4585 I'm not sure why.
4586
4587 * Make.bat Win32/Makefile.msvc
4588 Updates.
4589
4590 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4591
4592 * src/common.h
4593 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
4594 int to int to prevent weird arithmetic bugs.
4595
4596 * src/common.c src/aiff.c src/wav.c src/w64.c
4597 Fixed compiler warnings resulting from above change.
4598
4599 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4600
4601 * src/common.c
4602 Fixed a bug in header reader for some files with data after the sample data.
4603
4604 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4605
4606 * tests/lossy_comp_test.c tests/Makefile.am
4607 Add tests for AIFF/IMA files.
4608
4609 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4610
4611 * src/macbinary3.c src/macos.c
4612 Two new files required for handling SD2 files.
4613
4614 * src/common.h
4615 Add prototypes for functions in above two files.
4616
4617 * src/Makefile.am
4618 Hook new files into build system.
4619
4620 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4621
4622 * configure.ac
4623 Add checks for mmap() and getpagesize() which might be used at some time
4624 for faster file reads.
4625 Add detection of MacOSX.
4626
4627 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4628
4629 * doc/FAQ.html
4630 Minor mods to pkg-config section.
4631
4632 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4633
4634 * src/create_symbols_file.sh
4635 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
4636 static symbols are exported causing troubles when trying to link
4637 libsndfile with another library which has any of the same symbols.
4638 He fixed this by supplying the MacOSX linker with a file containing
4639 all the public symbols so that only they would be exported and then
4640 supplied a patch for libsndfile.
4641 This wasn't quite ideal, because I would have to maintain two (3 if
4642 you include Win32) separate files containing the exported symbols.
4643 A better solution was to create this script which can generate a
4644 Symbols file for Linux, MacoSX and any other OS that supports
4645 minimising the number of exported symbols.
4646
4647 * configure.ac src/Makefile.am
4648 Hook the new script into the build process.
4649
4650 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4651
4652 * doc/index.html
4653 Added comments about Steve Dekorte's SoundConverter scam.
4654
4655 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4656
4657 * src/file_io.c
4658 Axel Röbel pointed out that on Mac OSX a pipe is not considered a fifo
4659 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
4660 true). The test has therefore been changed to is S_ISREG and anything
4661 which which does not return true for S_ISREG is considered a pipe.
4662
4663 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4664
4665 * tests/misc_test.c
4666 Fix update_header_test to pass SDS.
4667
4668 * src/sds.c
4669 More minor fixes.
4670
4671 * tests/floating_point_test.c
4672 Add test for SDS files.
4673
4674 * src/command.c
4675 Add SDS to major_formats array.
4676
4677 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4678
4679 * tests/write_read_test.tpl tests/misc_test.c
4680 Add tests for SDS files.
4681
4682 * src/sds.c
4683 Fix a bug in header update code.
4684
4685 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4686
4687 * src/sds.c
4688 Get file write working.
4689
4690 * src/paf.c
4691 Fix a potential bug in paf24_seek().
4692
4693 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4694
4695 * doc/FAQ.html
4696 Add Q/A about u-law encoded WAV files.
4697
4698 * Win32/*.h
4699 Updated so it compiles on Win32.
4700
4701 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4702
4703 * examples/sndfile-convert.c
4704 Add -alaw and -ulaw command line arguments.
4705
4706 * configure.ac
4707 Add library versioning comments.
4708 Add arguments to AC_INIT.
4709
4710 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4711
4712 * src/file_io.c
4713 Ross Bencina has contributed code to replace all of the (mostly broken)
4714 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
4715 This code still needs testing but is likely to be a huge improvemnt
4716 of support for Win32. Thanks Ross.
4717
4718 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4719
4720 * src/dwvw.c
4721 Removed filedes field from the DWVW_PRIVATE struct.
4722
4723 * src/file_io.c
4724 Change psf_fopen() so it returns psf->error instead of the file descriptor.
4725 Add new functions psf_set_stdio() and psf_set_file().
4726
4727 * src/sndfile.c
4728 Change these to work with changed psf_fopen() return value.
4729 Remove all uses of psf->filedes from sndfile, making it easier to slot native
4730 Win32 API file handling functions.
4731
4732 * src/test_file_io.c
4733 Minor changes to make it compile with new file_io.c stuff.
4734
4735 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4736
4737 * src/gsm610.h
4738 Rename a variable from true to true_flag. As Ross Bencina points out,
4739 true is defined in the C99 header <stdbool.h>.
4740
4741 * src/file_io.c
4742 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
4743
4744 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4745
4746 * src/common.h
4747 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
4748
4749 * src/sndfile.c
4750 Fix sf_read/write_raw which were dividing by psf->bytwidth and
4751 psf->blockwidth which can both be zero.
4752
4753 * examples/sndfile-info.c
4754 Increase size of BUFFER_LEN.
4755
4756 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4757
4758 * configure.ac
4759 Add checks for <sys/wait.h> and ssize_t.
4760 Other Win32/MinGW checks.
4761
4762 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
4763 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
4764 Fix compiler warnings.
4765
4766 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4767
4768 * tests/scale_clip_test.tpl
4769 Add definition of M_PI if needed.
4770
4771 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4772
4773 * configure.ac
4774 Detect if S_IRGRP is declared in <unistd.h>.
4775
4776 * src/file_io.c tests/*.tpl tests/*.c
4777 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
4778 file doesn't declare S_IRGRP.
4779
4780 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4781
4782 * src/config.h.in
4783 Add comment stating that the sf_count_t typedef is determined when
4784 libsndfile is being compiled.
4785
4786 * tests/utils.tpl
4787 Modified so that utils.c gets one copy of the GPL and not two.
4788
4789
4790 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4791
4792 * Win32/unistd.h src/sf_unistd.h
4793 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
4794
4795 * Win32/Makefile.am src/Makefile.am
4796 Changed in line with above.
4797
4798 * Win32/Makefile.msvc
4799 Removed "/I Win32" which is no longer required.
4800
4801 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
4802 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
4803 work for Win32, MinGW and other fakes Unix-like OSes.
4804
4805 * src/*.c
4806 Removed #include <unistd.h> from files which didn't need it.
4807
4808 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4809
4810 * libsndfile.spec.in
4811 Apply fix from Andrew Schultz.
4812
4813 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4814
4815 * src/vox_adpcm.c
4816 Only set psf->sf.samplerate if the existing value is invalid.
4817
4818 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4819
4820 * examples/sndfile-play.c
4821 Started adding support for ALSA output.
4822
4823 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4824
4825 * src/sndfile.h.in
4826 Removed <stdlib.h> from sndfile.h.
4827
4828 * src/*.c examples/*.c tests/*.c tests/*.tpl
4829 Added <stdlib.h> where needed.
4830
4831 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4832
4833 * src/common.h
4834 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
4835
4836 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4837
4838 * doc/index.html
4839 Remove statements about alternative licensing arrangements.
4840
4841 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4842
4843 * MacOS MacOS9 Makefile.am configure.ac
4844 Change directory name from MacOS to MacOS9
4845
4846 * MacOS9/MacOS9-readme.txt
4847 Change name to make it really obvious, add text to top of file to make it
4848 still more obvious again.
4849
4850 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4851
4852 * src/test_log_printf.c
4853 Add tests for %u conversions.
4854
4855 * src/common.c
4856 Fix psf_log_printf() %u conversions.
4857
4858 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4859
4860 * src/aiff.c
4861 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
4862 would over-write part of the header. Thanks to Axel Röbel for pointing
4863 this out. Axel also provided a patch to fix this but I came up with a
4864 neater and more general solution.
4865 Return error when openning an AIFF file with data after the SSND chunk
4866 (Thanks Axel Röbel).
4867
4868 * tests/aiff_rw_test.c
4869 Improvements to test program which will later allow it to be generalised to
4870 test WAV, SVX and others as required.
4871
4872 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4873
4874 * tests/pipe_test.c
4875 Add useek_pipe_rw_test() submitted by Russell Francis.
4876
4877 * src/sndfile.c
4878 In sf_open_fd(), check if input file descriptor is a pipe.
4879
4880 * src/sndfile.[ch]
4881 Fix typo in variable name do_not_close_descriptor.
4882
4883 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4884
4885 * src/test_log_printf.c
4886 Improve the tests for %d and %s conversions.
4887
4888 * src/common.c
4889 Fixed a few problems in psf_log_printf() found using new tests.
4890
4891 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4892
4893 * configure.ac
4894 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
4895 Peter Miller (Aegis author) for suggesting this and supplying a patch.
4896
4897 * src/*.c examples/*.c tests/*.c
4898 Fix all compiler warnings arising from the above.
4899
4900 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4901
4902 * tests/aiff_rw_test.c tests/Makefile.am
4903 New test program to check for errors re-writing the headers of AIFC files
4904 opened in mode SFM_RDWR.
4905
4906 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4907
4908 * examples/sndfile-play.c
4909 Applied a patch from Tero Pelander to allow this program to run on systems
4910 using devfs which used /dev/sound/dsp instead of /dev/dsp.
4911
4912 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4913
4914 * doc/new_file_type.HOWTO
4915 Updated document. Still incomplete.
4916
4917 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4918
4919 * src/sndfile.c
4920 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
4921 than saving it and returning zero.
4922
4923 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4924
4925 * src/file_io.c
4926 Two fixes for Mac OS9.
4927 Fix all casts from sf_count_t to ssize_t (not size_t).
4928
4929 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4930
4931 * src/wav.c
4932 Fix for reading files with RIFF length of 8 and data length of 0.
4933
4934 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4935
4936 * src/*.c tests/*.c tests/*.tpl
4937 Added comments to mark code for removal when make Lite version of
4938 libsndfile.
4939
4940 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4941
4942 * examples/sndfile-convert.c
4943 Add extra error checking for unrecognised arguments.
4944
4945 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4946
4947 * src/ima_adpcm.c
4948 Started adding code to write IMA ADPCM encoded AIFF files.
4949
4950 * src/test_log_printf.c src/Makefile.am
4951 New file to test psf_log_printf() function and add hooks into build system.
4952
4953 * src/common.c
4954 Move psf_log_printf() function to top of the file and only compile the rest
4955 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
4956
4957 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4958
4959 * Win32/config.h Win32/sndfile.h
4960 Updated with new config variables.
4961
4962 * Win32/unistd.h src/file_io.c
4963 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
4964 used in src/file_io.c.
4965
4966 * tests/utils.tpl
4967 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
4968 Win32.
4969
4970 * src/Makefile.msvc
4971 Added src\test_file_io.exe build target and run this as the very first
4972 test.
4973
4974 * tests/win32_test.c
4975 Add support for testing Cygwin32.
4976
4977 * configure.ac
4978 Detect POSIX fsync() and fdatasync() functions.
4979
4980 * src/file_io.c
4981 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
4982 file length.
4983
4984 * tests/pcm_test.tpl
4985 Add a test for lrintf() function. This was required to detect a really
4986 broken lrint() and lrintf() on Cygwin.
4987
4988 * tests/misc_test.c
4989 Don't run permission test when compiling under Cygwin.
4990
4991 * src/float_cast.h
4992 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
4993 to match official function prototypes.
4994
4995 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4996
4997 * examples/sndfile-convert.c
4998 Modifications to improve accuracy of conversions; use double data for
4999 floating point and int for everything else.
5000
5001 * src/ima_apdcm.c
5002 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
5003 get encoding working.
5004
5005 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5006
5007 * src/aiff.c src/ima_adpcm.c
5008 Start working on getting IMA ADPCM encoded AIFF files working.
5009
5010 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5011
5012 * configure.ac
5013 Fixed the touch command for when the autogen program is not found (Matt
5014 Flax).
5015
5016 * src/ulaw.c src/alaw.c
5017 Made these pipe-able.
5018
5019 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5020
5021 * src/paf.c src/ircam.c
5022 Fixed writing to pipe.
5023
5024 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
5025 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
5026
5027 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5028
5029 * examples/sndfile-info.c
5030 Modified to detect unknown file lengths.
5031
5032 * src/mat4.c
5033 Fix reading from a pipe.
5034
5035 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5036
5037 * tests/pipe_test.c
5038 Add more file types to tests.
5039
5040 * src/mat4.c
5041 Removed explicit setting of psf->sf.seekable to SF_TRUE.
5042
5043 * tests/utils.tpl
5044 Add macro for generating and check data in the stdio and pipe tests.
5045
5046 * tests/stdout_test.c tests/stdin_test.c
5047 Use the above macro to generate known data on output and check data on
5048 input.
5049
5050 * src/voc.c src/htk.c common.h sndfile.c
5051 Disallow reading/writing VOC and HTK files from/to pipes be returning new
5052 error values.
5053
5054 * src/w64.c
5055 Fixes to allow reading from a pipe.
5056
5057 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5058
5059 * configure.ac src/sndfile.h.in
5060 When the configure script determines the sizeof (sf_count_t), also set the
5061 value of SF_COUNT_MAX in sndfile.h.
5062
5063 * configure.ac
5064 Remove -pedantic flag from default GCC compiler flags.
5065
5066 * tests/pipe_test.c
5067 Add a pipe_read_test() before doing pipe_write_test().
5068
5069 * tests/scale_clip_test.c
5070 Add test to make sure non-normalized values also clip in the right way.
5071
5072 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5073
5074 * configure.ac
5075 Add test to detect processor clipping capabilities.
5076
5077 * tests/stdin_test.c tests/stdout_test.c
5078 Fix a pair of compiler warnings.
5079
5080 * src/common.h
5081 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
5082 offset when operating on a pipe.
5083
5084 * src/common.c
5085 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
5086 psf_binheader_readf and redirect them to new buffered versions
5087 header_read(), header_seek() and header_gets().
5088 Add "G" format specifier to emulate fgets() functionality with buffering.
5089 This will allow reading some file types from pipes.
5090
5091 * src/file_io.c
5092 When the file descriptor is a pipe, manintain psf->pipeoffset.
5093
5094 * src/pvf.c
5095 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
5096
5097 * src/au.c
5098 Fix reading from a pipe.
5099
5100 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5101
5102 * src/pcm.c
5103 Add clipping versions of the f2XXX_array() functions to allow option of
5104 clipping data that would otherwise overflow.
5105
5106 * tests/scale_clip_test.tpl tests/scale_clip_test.def
5107 New files test that clipping option does actually work.
5108
5109 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5110
5111 * doc/index.html
5112 Fixed a typo ("OS(" instead of "OS9").
5113
5114 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5115
5116 * tests/open_fail_test.c
5117 Include <string.h> to prevent warning message of missing declaration of
5118 memset().
5119
5120 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5121
5122 * src/common.h
5123 Add new "add_clipping" field to SF_PRIVATE.
5124
5125 * src/sndfile.h.in src/sndfile.c
5126 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
5127
5128 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5129
5130 * doc/api.html
5131 Add docs for sf_set_string() and sf_get_string().
5132
5133 * src/common.h src/sndfile.c
5134 Add new SFE_STR_BAD_STRING error.
5135
5136 * tests/stdin_test.c tests/stdout_test.c
5137 Removed all non-error print statements.
5138
5139 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
5140 Add print statements removed from two files above.
5141
5142 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5143
5144 * libsndfile.spec.in
5145 Fixed a coulpe of minor errors discovered by someone calling themselves
5146 Agent Smith.
5147
5148 * src/common.c src/common.h src/file_io.h
5149 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
5150 function. (Axel Röbel)
5151
5152 * src/sndfile.c
5153 Fixed determination of whether the file is a pipe. (Axel Röbel)
5154
5155 * src/paf.c
5156 Force paf24 to start with undefined mode. (Axel Röbel)
5157
5158 * tests/pipe_test.c
5159 Mods to make this test work and actually do the test on RAW files. (Axel
5160 Röbel).
5161
5162 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5163
5164 * src/sndfile.c
5165 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
5166 operating on stdin or stdout but then the default initialiser was reseting
5167 it to TRUE. Thanks to Axel Röbel.
5168
5169 * src/aiff.c
5170 Fixed a bug in the header parser where it was not handling an odd length
5171 COMM chunk correctly. Thanks to Axel Röbel.
5172
5173 * src/test_file_io.c
5174 Add more tests.
5175
5176 * tests/win32_test.c
5177 New file for showing the bugs in the Win32 implementation of the POSIX API.
5178 It also runs on Linux for sanity checking.
5179
5180 * tests/Makefile.am Win32/Makefile.msvc
5181 Hook the new test program into the build system.
5182
5183 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5184
5185 * src/test_file_io.c
5186 New test program to test operation of functions defined in file_io.c. This
5187 should make supporting win32 significantly easier.
5188
5189 * src/Makefile.am
5190 Hook new test program into the build system.
5191
5192 * src/file_io.c
5193 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
5194 the same.
5195
5196 * src/common.h src/sndfile.c
5197 Added new error code and error message for new check.
5198
5199 * tests/benchmark.tpl
5200 Fix to use frames instead of samples in SF_INFO.
5201
5202 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5203
5204 * src/file_io.c
5205 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
5206
5207 * examples/sndfile-info.c
5208 Applied patch from Conrad Parker to add "--help" and "-h" options as
5209 well as an improved usage message.
5210
5211 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5212
5213 * src/au.c
5214 Added embedded file support.
5215
5216 * tests/multi_file_test.c
5217 Added tests for embedded AU files.
5218 Added verbose testing mode.
5219
5220 * src/common.h src/sndfile.c
5221 Added an embedded AU specific error code and message.
5222
5223 * src/wav.c
5224 Added patch from Conrad Parker which filled in a little more information
5225 about ACIDized WAV files.
5226
5227 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5228
5229 * src/file_io.c
5230 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
5231 which was in turn calling psf_fseek() which in the end blew the stack.
5232 Now of course this would have been easy to find on Linux, but this blow
5233 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
5234 figure out what call caused this (it couldn't even tell me the stack had
5235 overflowed) and was absolutley useless for this debugging exercise.
5236 On top of that, the reason I got into this mess was that windoze doesn't
5237 have a working fstat() function which can return file lengths > 2 Gig. It
5238 HAS a fscking _fstati64() but the file length value is only updated AFTER
5239 the bloody file is closed. That makes it completely useless.
5240 How the hell do people stand working on this crap excuse of an OS?
5241
5242 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5243
5244 * Win32/unistd.h src/file_io.c
5245 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
5246 can be used in the test programs.
5247
5248 * Win32/libsndfile.def
5249 Added sf_open_fd.
5250
5251 * Win32/sndfile.h
5252 Updated to match src/sndfile.h.in.
5253
5254 * Win32/Makefile.msvc
5255 Added dither.c and htk.c to libsndfile.dll target.
5256
5257 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5258
5259 * src/file_io.c
5260 First attempt at getting the Win32 versions of the these functions working.
5261 They still need to be tested.
5262
5263 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5264
5265 * src/strings.c
5266 Found and fixed a bug which was causing psf_store_string() to fail on
5267 Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
5268 of libsndfile) for compiling and running debug code to help me debug the
5269 problem.
5270
5271 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5272
5273 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
5274 Much hacking to get reading and writing of embedded files working (ie sound
5275 files at a non-zero files offset).
5276
5277 * doc/embedded_files.html
5278 First pass atempt at documenting reading/writing embedded files.
5279
5280 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5281
5282 * doc/FAQ.html
5283 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
5284
5285 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5286
5287 * src/wav.c src/aiff.c
5288 Fix retrieving and storing of string data from files. Need to be careful
5289 about using psf->buffer for strings.
5290
5291 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5292
5293 * src/file_io.c
5294 Fix psf_fseek() for seeks withing embedded files.
5295
5296 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5297
5298 * src/sndfile.h.in
5299 Changed the definition of SNDFILE slightly to produce warnings when it isn't
5300 used correctly. This should have zero affect in code which uses the SNDFILE
5301 type correctly.
5302
5303 * src/sndfile.c
5304 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
5305
5306 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5307
5308 * doc/FAQ.html
5309 Added question and answer to the question "How about adding the ability
5310 to write/read sound files to/from memory buffers?".
5311
5312 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5313
5314 * tests/write_read_test.tpl
5315 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
5316 these with SF_TRUE and SF_FALSE.
5317
5318 * tests/multi_file_test.c
5319 New test program to test sf_open_fd() on files containing data other than
5320 a single sound file.
5321
5322 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5323
5324 * src/file_io.c
5325 When creating files, set the readable by others flag. This still allows
5326 further restrictions to be enforced by use of the user's umask. Fix
5327 suggested by Eric Lyon.
5328
5329 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5330
5331 * src/sndfile.h.in src/sndfile.c
5332 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
5333 parameter. If close desc is TRUE, the file descritpor passed into the
5334 library will be closed when sf_close() is called.
5335
5336 * tests/utils.tpl
5337 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
5338
5339 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5340
5341 * tests/write_read_test.tpl
5342 Add a string (using sf_set_string() function) before and after data section
5343 of all files. This will make sure that if string data can be added, it
5344 doesn't overwrite real audio data.
5345
5346 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5347
5348 * src/sndfile.c
5349 Started work on supporting a non-zero offset parameter for sf_open_fd ().
5350
5351 * src/<file header parsers>.c
5352 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
5353 sf_open_fd() with non-zero offset.
5354 Associated refactoring.
5355
5356 * src/aiff.c
5357 Implemented functionality required to get sf_get_string() and
5358 sf_set_string() working for AIFF files.
5359
5360 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5361
5362 * tests/utils.tpl
5363 Modified test_open_file_or_die() to alternately use sf_open() and
5364 sf_open_fd().
5365
5366 * src/svx.c
5367 Fixed a bug which occurred when openning an existing file for read/write
5368 using sf_open_fd(). In this case, the existing NAME chunk needs to be
5369 read into psf->filename.
5370 Fixed printing of sf_count_t types to logbuffer.
5371
5372 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5373
5374 * src/sndfile.h.in
5375 Added prototype for new function sf_open_fd().
5376
5377 * src/sndfile.c
5378 Moved most of the code in sf_open() to a new function psf_open_file().
5379 Created new function sf_open_fd() which also uses psf_open_file() but
5380 does not currently support the offset parameter.
5381
5382 * doc/api.html
5383 Document sf_open_fd().
5384
5385 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5386
5387 * src/sndfile.c
5388 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
5389 when an attempt was made to read and the open() call fails.
5390
5391 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5392
5393 * tests/open_fail_test.c
5394 New test program to check for memory leaks when sf_open fails on a valid
5395 file. Currently this must be run manually under valgrid.
5396
5397 * tests/Makefile.am
5398 Hook new test program into build.
5399
5400 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5401
5402 * Octave/sndfile_save.m Octave/sndfile_play.m
5403 Added a -mat-binary option to the octave save command to force the output
5404 to binary mode even if the user has set ascii data as the default. Found
5405 by Christopher Moore.
5406
5407 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5408
5409 * doc/dither.html
5410 New file which will document the interface which allows the addition of
5411 audio dither when sample word sizes are being reduced.
5412
5413 * src/dither.c
5414 More work.
5415
5416 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5417
5418 * tests/misc_test.c
5419 In update_header_test(), make HTK files a special case.
5420
5421 * doc/index.html
5422 Added HTK to the feature matrix.
5423
5424 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5425
5426 * src/htk.c
5427 New file for reading/writing HMM Tool Kit files.
5428
5429 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
5430 Hook in htk.c
5431
5432 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
5433 Add tests for HTK files.
5434
5435 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5436
5437 * src/wav.c
5438 Fixed a bug where the LIST chunk length was being written incorrectly.
5439
5440 * tests/string_test.c
5441 Added call to check_log_buffer().
5442 Minor cleanups.
5443
5444 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5445
5446 * src/wav_w64.h
5447 Applied patch from Antoine Mathys to add extra WAV format definitions and
5448 a G72x_ADPCM_WAV_FMT struct definition.
5449
5450 * src/wav_w64.c
5451 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
5452 one huge inefficient switch statement to a binary search.
5453
5454 * tests/string_test.c
5455 Dump log buffer if tests fail.
5456
5457 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5458
5459 * tests/string_test.c
5460 David Viens supplied some modifications to this file which showed up a bug
5461 when using sf_set_string() and the sf_writef_float() functions.
5462
5463 * src/sndfile.c
5464 Fixed the above bug.
5465
5466 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5467
5468 * doc/FAQ.html
5469 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
5470 of Davy Durham).
5471
5472 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5473
5474 * src/sndfile.h.in
5475 Add enums and typedefs for dither.
5476 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
5477 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
5478 allow different dither algorithms to be enabled.
5479 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
5480
5481 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
5482 Added public sf_dither_*() functions.
5483
5484 * src/sndfile.c
5485 Implement commands above.
5486
5487 * src/dither.c
5488 More work. Framework and external hooks into dither algorithms complete.
5489
5490 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5491
5492 * doc/version-1.html libsndfile_version_convert.py
5493 Remove redundant files.
5494
5495 * doc/index.html doc/api.html
5496 Remove links to version-1.html.
5497
5498 * src/dither.c
5499 New file to allow the addition of audio dither on input and output.
5500
5501 * src/common.h
5502 Add prototype for dither_init() function.
5503
5504 * Makefile.am doc/Makefile.am
5505 Changes for added and removed files.
5506
5507 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5508
5509 * Win32/Makefile.msvc
5510 Changes to force example binaries to be placed in the top level directory
5511 instead of the examples/ directory.
5512 Add src/strings.c and src/xi.c to the build.
5513 Add string_test to build and to tests on WAV files.
5514
5515 * doc/index.html
5516 Added XI to support matrix.
5517
5518 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5519
5520 * src/sndfile.h.in
5521 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
5522 enum values.
5523
5524 * src/sndfile.c
5525 Added public interface to sf_get_string() and sf_set_string().
5526
5527 * src/wav.c
5528 Added code for setting and getting strings in WAV files.
5529
5530 * tests/string_test.c
5531 New test program for sf_get_string() and sf_set_string() functionality.
5532
5533 * tests/Makefile.am
5534 Hook new test program into build and test framework.
5535
5536 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5537
5538 * src/common.h
5539 Added fields to SF_PRIVATE for string data needed to implement
5540 sf_get_string() and sf_set_string().
5541
5542 * src/strings.c
5543 New file for storing and retrieving strings to/from files.
5544
5545 * src/Makefile.am
5546 Added strings.c to build.
5547
5548 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5549
5550 * src/xi.c
5551 Read seems to be working so looking at write.
5552
5553 * src/sndfile.h.in
5554 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
5555
5556 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
5557 Added test for 8 and 16 bit XI format files.
5558
5559 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5560
5561 * doc/index.html
5562 Added a non-lawyer readable summary of the licensing provisions as
5563 suggested by Steve Dekorte.
5564
5565 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5566
5567 * src/wav.c
5568 Fixed a compiler warning found by Alexander Lerch.
5569
5570 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5571
5572 * configure.ac
5573 Fixed the multiple linking of libm.
5574
5575 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5576
5577 * Win32/Makefile.mcvs
5578 Added comments on the correct way to set up the MSVCDir environment
5579 variable.
5580
5581 * doc/win32.html
5582 Add on how to set up the MSVCDir environment variable.
5583
5584 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5585
5586 * examples/sndfile-play.c examples/sndfile-info.c
5587 When run on Win32 without any command line parameters print a message and
5588 then sleep for 5 seconds. This means the when somebody double clicks on
5589 these programs in explorer the user will actually see the message.
5590
5591 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5592
5593 * tests/misc_test.c
5594 Bypass permission test if running as root because root is allowed to open
5595 a readonly file for write.
5596
5597 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5598
5599 * Win32/Makefile.msvc
5600 Added pvf.c and xi.c source files to project.
5601
5602 * src/sndfile.h
5603 Updated for PVF files.
5604
5605 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5606
5607 * src/sndfile.c
5608 Modified validate_sfinfo() to force samplerate, channels and sections
5609 to be >= 1.
5610 In format_from_extension() replaced calls to does_extension_match()
5611 with strcmp().
5612
5613 * src/xi.c
5614 More work.
5615
5616 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5617
5618 * doc/Makefile.am
5619 Added octave.html which had been left out. Found by Jan Weil.
5620
5621 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5622
5623 * src/pvf.c src/common.h src/sndfile.c
5624 Fixed error handling for PVF files.
5625
5626 * src/xi.c
5627 New file for handling Fasttracker 2 Extended Instrument files. Not working
5628 yet and included when configured with --enable-experimental.
5629
5630 * src/sndfile.c src/common.h
5631 Hooked in new file xi.c.
5632
5633 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5634
5635 * src/rx2.c
5636 Added a patch from Marek Peteraj which sheds a little more light on the
5637 slices within an RX2 file. Still need to find out data encoding.
5638
5639 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5640
5641 * src/wav.c
5642 Started work on decoding 'acid' and 'strc' chunks.
5643
5644 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5645
5646 * tests/peak_check_test.c
5647 Minor cleanup.
5648
5649 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5650
5651 * tests/write_read_test.tpl
5652 Added check to make sure no error was generated when an attempt was made to
5653 read past the end of the file.
5654
5655 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5656
5657 * doc/lists.html
5658 Added "mailto" links for all three lists.
5659
5660 * src/pvf.c
5661 New file for Portable Voice Format files.
5662
5663 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
5664 Added hooks for SF_FORMAT_PVF format files.
5665
5666 * tests/write_read_test.tpl tests/std*.c
5667 Add tests for SF_FORMAT_PVF.
5668
5669 * doc/index.html
5670 Add PVF to the compatibility matrix.
5671
5672 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
5673 Previously, attempts to read beyond the end of a file would set psf->error
5674 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
5675 read() call but has now been fixed.
5676 Attempts to read beyond the end of the file will return a short read count
5677 but will not longer set any error.
5678
5679 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5680
5681 * src/sndfile.c
5682 Add more sanity checking when opening a RAW file for read. When format is
5683 not RAW, zero out all members of the SF_INFO struct.
5684
5685 * tests/raw_test.c
5686 Add bad_raw_test() to check for above problem.
5687
5688 * tests/stdin_test.c examples/sndfile-info.c
5689 Set the format field of the SF_INFO struct to zero before calling
5690 sf_open().
5691
5692 * doc/api.html
5693 Add information about the need to set the format field of the SF_INFO struct
5694 to zero when opening non-RAW files for read.
5695
5696 * configure.ac
5697 Removed use of conversion script on Solaris. Not all Solaris versions
5698 support it.
5699
5700 * doc/lists.html
5701 New file containg details of the mailing lists.
5702
5703 * doc/index.html
5704 Add a link to the above new file.
5705
5706 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5707
5708 * tests/dft_cmp.c
5709 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
5710 for providing the gdb traceback.
5711
5712 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5713
5714 * src/wav.c
5715 Added more capabilities to 'smpl' chunk parser.
5716
5717 * src/sndfile.c
5718 Fixed some (not all) possible problems found with Flawfinder.
5719
5720 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5721
5722 * src/sndfile.c
5723 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
5724 made to read beyond the end and then sf_seek() was called with a whence
5725 parameter of SEEK_CUR.
5726
5727 * src/file_io.c
5728 Win32's _fstati64() does not work, it returns BS. Re-implemented
5729 psf_get_filelen() in terms of psf_fseek().
5730
5731 * tests/write_read_test.tpl
5732 Add a test to detect above bug.
5733
5734 * src/float_cast.h
5735 Modification to prevent compiler warnings on Mac OS X.
5736
5737 * src/file_io.c
5738 Fixes for windows (what a f**ked OS).
5739
5740 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5741
5742 * configure.ac
5743 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
5744 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
5745 src/float_cast.h means that a library compiled on 10.2 will still work on
5746 10.1.
5747
5748 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5749
5750 * configure.in configure.ac
5751 Renamed configure.in to configure.ac as expected by later versions of
5752 autoconf.
5753 Slight hacking of configure.ac to work with version 2.54 of autoconf.
5754 Changed to using -dumpversion instead of --version for determining GCC
5755 version numer as suggested by Anand Kumria.
5756
5757 * src/G72x/Makefile.am
5758 Slight hacking required for operation with automake 1.6.3.
5759
5760 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5761
5762 * src/common.c
5763 In psf_binheader_readf() changed type parameter type "b" type from size_t
5764 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
5765 Thanks to Enrique Robledo Arnuncio for debugging this.
5766
5767 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5768
5769 * test/command_test.tpl
5770 Changed test value so test would pass on Solaris.
5771
5772 * src/Version_script.in
5773 Modified version numbering so that later versions of 1.0.X can replace
5774 earlier versions without recompilation.
5775
5776 * src/vox_adpcm.c
5777 Fixed bug causing short reads.
5778
5779 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5780
5781 * test/floating_point_test.c
5782 Code cleanup using functions from util.c.
5783 Add test for IEEE replacement floats and doubles.
5784
5785 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5786
5787 * src/wav.c
5788 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
5789 Serg Repalov for the example file.
5790
5791 * tests/pcm_test.tpl
5792 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
5793 Clean up pcm_double_test().
5794
5795 * src/float32.c src/double64.c
5796 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
5797 Print message to log_buffer as well.
5798 Rename all broken_read_* and broken_write* functions to replace_read_* and
5799 replace_write_*.
5800
5801 * tests/util.tpl
5802 Added string_in_log_buffer().
5803
5804 * tests/pcm_test.tpl
5805 Use string_in_log_buffer() to ensure that IEEE replacement code has been
5806 used.
5807
5808 * configure.in
5809 Removed --enable-force-broken-float option. IEEE replacement code is now
5810 always tested.
5811
5812 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5813
5814 * src/double64.c
5815 Implement code for read/writing IEEE doubles on platforms where the native
5816 double format is not IEEE.
5817
5818 * src/float32.c src/common.h
5819 Remove float32_read() and float32_write(). Replace with float32_le_read(),
5820 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
5821 in src/double64.c.
5822
5823 * src/common.c
5824 Fix all usage of float32_write().
5825
5826 * src/sndfile.h.in
5827 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
5828
5829 * src/common.h
5830 Added SF_PRIVATE field ieee_replace.
5831
5832 * src/sndfile.c
5833 In sf_command() set/reset psf->ieee_replace.
5834
5835 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5836
5837 * tests/pcm_test.tpl
5838 Fixed a problem when testing with --enable-force-broken-float. The test was
5839 generating a value of negative zero and the broken float code is not able
5840 to write negative zero. Removing the negative zero fixed the test.
5841
5842 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5843
5844 * src/file_io.c
5845 Added fix for Cygwin (suggested by Maros Michalik).
5846
5847 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5848
5849 * src/file_io.c
5850 Improved error detection and handling.
5851
5852 * src/file_io.c src/common.h
5853 Removed functions psf_ferror() and psf_clearerr() which were redundant
5854 after above improvements.
5855
5856 * src/aiff.c src/svx.c src/w64.c src/wav.c
5857 Removed all use of psf_ferror() and psf_clearerr().
5858
5859 * src/sndfile.c
5860 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
5861 are no longer needed.
5862
5863 * tests/misc_test.c
5864 Added test to make sure the correct error message is returned with an
5865 existing read-only file is openned for write.
5866
5867 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5868
5869 * doc/index.html doc/api.html
5870 Updated for OKI Dialogic ADPCM files.
5871
5872 * src/command.c
5873 Added VOX ADPCM to sub_fomats.
5874
5875 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5876
5877 * src/vox_adpcm.c src/Makefile.am
5878 New file for handling OKI Dialogic ADPCM files.
5879
5880 * src/sndfile.h
5881 Add new subtype SF_FORMAT_VOX_ADPCM.
5882
5883 * src/sndfile.c
5884 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
5885 its functionality to detect headerless VOX files.
5886
5887 * src/raw.c
5888 Added hooks for SF_FORMAT_VOX_ADPCM.
5889
5890 * examples/sndfile-info.c
5891 Print out file duration (suggested by Conrad Parker).
5892
5893 * libsndfile.spec.in
5894 Force installation of sndfile.pc file (found by John Thompson).
5895
5896 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
5897 Add tests for SF_FORMAT_VOX_ADPCM.
5898
5899 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5900
5901 * tests/misc_test.c
5902 Add test which attempts to write to /dev/full (on Linux anyway) to check
5903 for correct handling of writing to a full filesystem.
5904
5905 * src/sndfile.c
5906 Return correct error message if the header cannot be written because the
5907 filesystem is full.
5908
5909 * tests/util.tpl
5910 Corrected printing of file mode in error reporting.
5911
5912 * src/mat5.c
5913 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
5914 Octave 2.1.36.
5915
5916 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5917
5918 * src/common.h src/file_io.c
5919 All low level file I/O have been modified to be better able to report
5920 system errors resulting from calling system level open/read/write etc.
5921
5922 * src/*.c
5923 Updated for compatibility with above changes.
5924
5925 * examples/cooledit-fixer.c
5926 New example program which fixes badly broken file created by Syntrillium's
5927 Cooledit which are marked as containing PCM samples but actually contain
5928 floating point data.
5929
5930 * examples/Makefile.am
5931 Hooked cooledit-fixer into the build system.
5932
5933 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5934
5935 * doc/command.html
5936 Document SFC_GET_FORMAT_INFO.
5937
5938 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5939
5940 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
5941 examples/sfdump.c
5942 Removed these files because they weren't interesting.
5943
5944 * examples/sfconvert.c examples/sndfile-convert.c
5945 Renamed the first to the latter.
5946
5947 * examples/Makefile.am
5948 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
5949 is installed.
5950 Removed old programs wav32_aiff24 and sndfile2oct.
5951
5952 * man/sndfile-convert.1
5953 New man page.
5954
5955 * examples/sndfile-convert.c
5956 Added some gloss now that sndfile-convert.c is an installed program.
5957
5958 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
5959 Added command SFC_GET_FORMAT_INFO.
5960
5961 * tests/command_test.c
5962 Added tests form SFC_GET_FORMAT_INFO.
5963
5964 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5965
5966 * src/sndfile.c
5967 In sf_format_check() return error if samplerate < 0.
5968
5969 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5970
5971 * src/aiff.c
5972 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
5973 encoding string.
5974
5975 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5976
5977 * src/sndfile.c
5978 Fixed repeated word in an error message.
5979
5980 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5981
5982 * doc/index.html
5983 Improved advertising in Features section.
5984
5985 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5986
5987 * src/wav.c
5988 Added decoding of 'labl' chunks within 'LIST' chunks.
5989
5990 * src/common.h
5991 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
5992 of ogg_open(). This is nowhere near working yet.
5993
5994 * src/sndfile.c
5995 Added detection of 'OggS' file marker and added call to ogg_open() to
5996 switch statement.
5997
5998 * src/ogg.c
5999 New file. Very early start of Ogg Vorbis support.
6000
6001 * src/wav.c
6002 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
6003 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
6004 a block alignment of 4 times the numbers of channels but are in fact 32 bit
6005 floating point.
6006
6007 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6008
6009 * configure.in
6010 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
6011 config.h to either 0 or 1.
6012
6013 * src/sndfile.c
6014 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
6015 string if experimental code has been enabled.
6016
6017 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6018
6019 * src/Makefile.am
6020 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
6021 in the link line when linking something to libsndfile.
6022
6023 * tests/Makefile.am examples/Makefile.am
6024 Removed -lm from all link lines.
6025
6026 * sndfile.pc.in
6027 Removed -lm from Libs line.
6028
6029 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6030
6031 * src/file_io.c
6032 Removed all perror() calls.
6033
6034 * src/nist.c
6035 Removed calls to exit() function.
6036 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
6037 conversion process.
6038
6039 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6040
6041 * src/sndfile.h.in src/sndfile.c
6042 New function sf_strerror() which will eventually replace functions
6043 sf_perror() and sf_error_str().
6044 Function sf_error_number() has also been changed, but this was documented
6045 as being for testing only.
6046
6047 * doc/api.html
6048 Documented above changes.
6049
6050 * tests/*.c examples/*.c
6051 Changed to new error functions.
6052
6053 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6054
6055 * configure.in
6056 Detect GCC version, and print a warning message about writeable strings
6057 it GCC major version number is less than 3.
6058
6059 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6060
6061 * src/sndfile.h.in doc/api.html
6062 Documentation fixes.
6063
6064 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6065
6066 * src/Version_script.in src/Makefile.am configure.in
6067 Use the version script to prevent the exporting of all non public symbols.
6068 This currently only works with Linux. Will test on Solaris as well.
6069
6070 * src/float_cast.h
6071 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
6072 compiler.
6073
6074 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
6075 src/ms_adpcm.c
6076 Fix benign compiler warnings arising from previously added compiler
6077 flags.
6078
6079 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6080
6081 * src/sndfile.c
6082 Fixed a bug in sf_error_str() where errnum was used as the index instead
6083 of k. Found by Tim Hockin.
6084
6085 * examples/sndfile-play.c
6086 Fixed a compiler warning resulting from a variable shadowing a previously
6087 defined local.
6088
6089 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6090
6091 * src/sndfile.h.in src/sndfile.c
6092 Added command SFC_SET_RAW_START_OFFSET.
6093
6094 * doc/command.html
6095 Document SFC_SET_RAW_START_OFFSET.
6096
6097 * tests/raw_test.c tests/Makefile.am
6098 Add new file for for testing SF_FORMAT_RAW specific functionality.
6099
6100 * tests/dwvw_test.c
6101 Updates.
6102
6103 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6104
6105 * src/wav.c
6106 Modified reading of 'smpl' chunk to take account of the sampler data field.
6107
6108 * tests/utils.tpl tests/utils.h
6109 Added function print_test_name().
6110
6111 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
6112 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
6113 Convert to use function print_test_name().
6114
6115 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6116
6117 * doc/octave.html
6118 Added a link to some other Octave scripts for reading and writing sound
6119 files.
6120
6121 * src/paf.c
6122 Change type of dummy data field to int. This should fix a benign compiler
6123 warning on some CPUs.
6124 Removed superfluous casts resulting from the above change.
6125
6126 * src/rx2.c
6127 More hacking.
6128
6129 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6130
6131 * src/mat5.c src/common.c
6132 Changed usage of snprintf() to LSF_SNPRINTF().
6133
6134 * Win32/Makefile.msvc
6135 Updated to include new files and add new tests.
6136
6137 * Win32/config.h Win32/sndfile.h
6138 Updated.
6139
6140 * doc/api.html
6141 Added note about the possibility of "missing" features actually being
6142 implemented as an sf_command().
6143
6144 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6145
6146 * tests/misc_test.c
6147 Added previously missing update_header_test and zero_data_tests for PAF,
6148 MAT4 and MAT5 formats.
6149
6150 * src/paf.c src/mat4.c src/mat5.c
6151 Fixed bugs uncovered by new tests above.
6152
6153 * src/mat5.c
6154 Generalised parsing of name fields of MAT5 files.
6155
6156 * src/mat5.c src/sndfile.c
6157 Added support for unsigned 8 bit PCM MAT5 files.
6158
6159 * tests/write_read_test.tpl
6160 Added test for unsigned 8 bit PCM MAT5 files.
6161
6162 * doc/index.html
6163 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
6164
6165 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6166
6167 * test/update_header_test.c tests/misc_test.c
6168 Renamed update_header_test.c to misc_test.c.
6169 Added zero_data_test() to check for case where file is opened for write and
6170 closed immediately. The resulting file can be left in a state where
6171 libsndfile cannot open it. Problem reported by Werner Schweer, the author
6172 of Muse.
6173
6174 * src/aiff.c
6175 Removed superfluous cast.
6176
6177 * src/wav.c src/svx.c
6178 Fixed case of file generated with no data.
6179 Removed superfluous cast.
6180
6181 * src/sndfile.c
6182 Fixed error on IA64 platform caused by incorrect termination of
6183 SndfileErrors struct array. This problem was found in the Debian buildd
6184 logs (http://buildd.debian.org/).
6185
6186 * configure.in
6187 Added Octave directory.
6188
6189 * Octave/Makefile.ma
6190 New Makfile.am for Octave directory.
6191
6192 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
6193 New files for working with Octave.
6194
6195 * doc/octave.html
6196 Document explaining the use of the above three Octave scripts.
6197
6198 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6199
6200 * src/sndfile.c
6201 Fixed bug in RDWR mode.
6202
6203 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6204
6205 * src/common.c
6206 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
6207 gmtime().
6208
6209 * src/file_io.c
6210 Added #include <io.h> for Win32. Reported by Koen Tanghe.
6211
6212 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6213
6214 * src/common.c
6215 Added 'S' format specifier for psf_binheader_writef() which writes a C
6216 string, including single null terminator to the header.
6217 Added 'j' format specifier to allow jumping forwards or backwards in the
6218 header.
6219 Added function psf_get_date_str().
6220
6221 * src/mat5.c
6222 Complete read and write support.
6223
6224 * doc/index.html
6225 Added entries for MAT4 and MAT5 in capabilities matrix.
6226
6227 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6228
6229 * src/mat4.c
6230 Completed read and write support.
6231
6232 * src/common.h src/sndfile.c
6233 Added MAT4 and MAT5 specific error messages.
6234
6235 * tests/write_read_test.tpl tests/Makefile.am
6236 Added tests for MAT4 and MAT5 files.
6237
6238 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
6239 Added tests for MAT4 and MAT5 files.
6240
6241 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6242
6243 * src/command.c
6244 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
6245 array.
6246
6247 * examples/sfconvert.c
6248 Added mat4 and mat5 output targets.
6249
6250 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6251
6252 * src/sndfile.c
6253 Added check to prevent errors openning read only formats for read/write.
6254
6255 * src/interleave.c
6256 New file for interleaving non-interleaved data. Non-interleaved data is
6257 only supported on read.
6258
6259 * src/Makefile.am
6260 Added src/interleave.c to build.
6261
6262 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6263
6264 * src/double64.c src/common.h
6265 Added double64_be_read(), double64_le_read(), double64_be_write() and
6266 double64_le_write() which replace double64_read() and double64_write().
6267
6268 * src/common.c
6269 Cleanup of psf_binheader_readf() and add ability to read big and little
6270 endian doubles (required by mat4.c and mat5.c).
6271 Add ability for psf_binheader_writef() to write doubles to sound file
6272 headers.
6273
6274 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6275
6276 * src/mat5.c
6277 New file for reading Matlab (tm) version 5 data files. This is also the
6278 native binary file format for version 2.1.X of GNU Octave which will be
6279 used for testing.
6280 Not complete yet.
6281
6282 * src/mat4.c
6283 New file for reading Matlab (tm) version 4.2 data files. This is also the
6284 native binary file format for version 2.0.X of GNU Octave which will be
6285 used for testing.
6286 Not complete yet.
6287
6288 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
6289 Mods to add Matlab files.
6290
6291 * src/common.[ch]
6292 Added readf_endian field to SF_PRIVATE struct allowing endianness to
6293 remembered across calls to sf_binheader_readf().
6294 Fixed bug in width_specifier behaviour for printing hex values.
6295
6296 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6297
6298 * src/file_io.c
6299 Check return value of close() call in psf_fclose().
6300
6301 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6302
6303 * src/ms_adpcm.c
6304 Commented out some code where 0x10000 was being subtracted from a short
6305 and the result assigned to a short again. Andrew Zaja found this.
6306
6307 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6308
6309 * doc/command.html
6310 Fixed typo found by Tommi Ilmonen.
6311
6312 * src/ima_adpcm.c
6313 Changed type of diff from short to int to prevent errors which can occur
6314 during very rare circumstances. Thanks to FUWAFUWA.
6315
6316 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6317
6318 * tests/floating_point_test.c
6319 Disable testing on machines without lrintf().
6320
6321 * Win32/Makefile.msvc
6322 Added dwd.c and wve.c to build.
6323
6324 * configure.in
6325 Bumped version to 1.0.0.
6326
6327 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6328
6329 * src/file_io.c
6330 Add a #include for Mac OS 9. Thanks to Stephane Letz.
6331
6332 * src/wav.c
6333 Changed an snprintf to LSF_SNPRINTF.
6334
6335 * doc/Makefile.am
6336 Added version-1.html.
6337
6338 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6339
6340 * configure.in
6341 Bumped version to 1.0.rc6.
6342
6343 * src/*.c
6344 Modified scaling of normalised floats and doubles to integers. Until now
6345 this has been done by multiplying by 0x8000 for short output, 0x80000000
6346 for 32 bit ints and so on. Unfortunately this can cause an overflow and
6347 wrap around in the target value. All thes values have therefore been
6348 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
6349 normalised floats and doubles remains unchanged. This does mean that for
6350 repeated conversions normalised float -> pcm16 -> normalised float would
6351 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
6352 This is undesirable but less undesireable than the wrap around I am trying
6353 to avoid.
6354
6355 * tests/floating_point_test.c
6356 Removed file hash checking because new float scaling procedure introduced
6357 above prevented the ability to crate a has on both x86 and PowerPC systems.
6358
6359 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6360
6361 * src/txw.c
6362 Completed reading of TXW files. Seek doesn't work yet.
6363
6364 * src/file_io.c
6365 Added a MacOS 9 replacement for ftruncate().
6366
6367 * MacOS/sndfile.h
6368 Added MacOS 9 header file. This should be copied into src/ to compile
6369 libsndfile for MacOS9.
6370
6371 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6372
6373 * src/sndfile.c
6374 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
6375 values after being set. Reported by Jussi Laako.
6376
6377 * configure.in
6378 If autogen is not found, touch all .c and .h files in tests/.
6379
6380 * src/common.c
6381 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
6382
6383 * src/dwd.c
6384 Completed implementation of read only access to these files.
6385
6386 * src/common.h src/*.c src/pcm.c
6387 Removed redundant field chars from SF_PRIVATE struct and modified
6388 pcm_init() to do without it.
6389
6390 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6391
6392 * src/wve.c
6393 New file implementing read of Psion Alaw files. This will be a read only
6394 format. Implementation complete.
6395
6396 * src/dwd/c
6397 Started implementation of DiamondWare Digitized files. Also read only, not
6398 complete.
6399
6400 * src/wav.c
6401 Add parsing of 'smpl' chunk.
6402
6403 * src/paf.c
6404 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
6405 This brings it into line with the reading of 8 bit files into
6406 un-normalized doubles which returns values in the range [-128, 127].
6407
6408 * src/common.c
6409 Modified psf_log_printf() to accept the %% conversion specifier to allow
6410 printing of a single '%'.
6411
6412 * src/sds.c
6413 Read only of 16 bit samples is working. Need to build a test harness for
6414 this and other read only formats.
6415
6416 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6417
6418 * configure.in
6419 Added --enable-experimental configure option.
6420 Removed pkg-config message at the end of the configure process.
6421
6422 * src/sds.c src/txw.c src/rx2.c src/sd2.c
6423 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
6424 blocks and added new *_open() function for the case where experimental is
6425 not enabled. These new functions just return SFE_UNIMPLMENTED.
6426
6427 * Win32/sndfile.h src/sndfile.h.in src/common.h
6428 Removed un-necessary #pragma pack commands.
6429
6430 * src/file_io.c
6431 Implemented psf_ftruncate() and much other hacking for Win32.
6432
6433 * Win32/Makefile.msvc
6434 Updated.
6435
6436 * doc/win32.html
6437 Updated to include the copying of the sndfile.h file from the Win32/
6438 directory to the src/ directory.
6439
6440 * Make.bat
6441 Batch file to make compiling on Wi32 a little easier. Implements "make" and
6442 "make check".
6443
6444 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6445
6446 * src/file_io.c
6447 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
6448 This will need to be fixed later.
6449
6450 * src/sndfile.h.in
6451 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
6452 replaced by the correct type during configure.
6453
6454 * configure.in
6455 Modified to find a good type for TYPEOF_SF_COUNT_T.
6456
6457 * src/aiff.c
6458 Fixed a bug when reading malformed headers.
6459
6460 * src/common.c
6461 Set read values to zero before performing read.
6462
6463 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6464
6465 * doc/command.html
6466 Fixed some HTML tags which were not allowing jumps to links within the
6467 page.
6468
6469 * src/sds.c
6470 Massive hacking on this.
6471
6472 * src/wav.c
6473 Added recognition of 'clm ' tag.
6474
6475 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6476
6477 * doc/index.html
6478 Added beginning of a capabilities list beyond simple file formats which
6479 can be read/written.
6480
6481 * src/aiff.c
6482 Added parsing of INST and MARK chunks of AIFF files. At the moment this
6483 data is simply recorded in the log buffer. Later it will be possible to
6484 read this data from an application using sf_command().
6485
6486 * src/wav.c
6487 Added parsing of 'cue ' chunk which contains loop information in WAV files.
6488
6489 * exampes/sndfile-info.c
6490 Changed reporting of Samples to Frames.
6491
6492 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
6493 Moved from a samples to a frames nomenclature to avoid confusion.
6494
6495 * doc/FAQ.html
6496 What's the best format for storing temporary files?
6497
6498 * src/sds.c
6499 New file for reading/writing Midi Sample Dump Standard files.
6500
6501 * src/Makefile.am src/sndfile.c src/common.[ch]
6502 Added hooks for sds.c.
6503
6504 * examples/sndfile-info.c
6505 Changed from using sf_perror() to using sf_error_str().
6506
6507 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6508
6509 * doc/api.html
6510 Added explanation of mode parameter for sf_open().
6511 Added explanation of usage of SFM_* values in sf_seek().
6512
6513 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
6514 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
6515 truncation was suggested by James McCartney.
6516
6517 * src/command.html
6518 Documented SFC_FILE_TRUNCATE.
6519
6520 * tests/command_test.c
6521 Add tests for SFC_FILE_TRUNCATE.
6522
6523 * src/sndfile.c
6524 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
6525 make resetting the error number optional. All uses of the macro other than
6526 in error reporting functions were changed to reset the error number.
6527
6528 * src/pcm.c
6529 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
6530 occurred.
6531
6532 * tests/write_read_test.tpl
6533 Added tests of internal error state.
6534
6535 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6536
6537 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
6538 Renamed private.h to gsm610_priv.h to prevent clash with other headers
6539 named private.h in other directories. (Probably only a problem on MacOS 9).
6540
6541 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
6542 Renamed private.h to g72x_priv.h to prevent clash with other headers
6543 named private.h in other directories. (Probably only a problem on MacOS 9).
6544
6545 * MacOS/config.h
6546 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
6547 float_cash.h.
6548
6549 * src/sndfile.h
6550 Changes the name of samples field of the SF_INFO to frames. The old name
6551 had caused too much confusion and it simply had to be changed. There will
6552 be at least one more pre-release.
6553
6554 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6555
6556 * doc/index.html
6557 Updated formats matrix to include RAW (header-less) GSM 6.10.
6558 Fix specificaltion of table and spelling mistakes.
6559
6560 * src/sndfile.c src/command.c
6561 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
6562
6563 * tests/command.c
6564 Removed cruft.
6565 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
6566
6567 * configure.in
6568 Update version to 1.0.0rc5.
6569
6570 * sfendian.h
6571 Removed inclusion of un-necessary header.
6572
6573 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6574
6575 * src/aiff.c
6576 Minor fixes of info written to log buffer.
6577
6578 * src/float_cast.h
6579 Add definition of HAVE_LRINT_REPLACEMENT.
6580
6581 * tests/floating_point_test.c
6582 Fix file hash check on systems without lrint/lrintf.
6583
6584 * tests/dft_cmp.c
6585 Limit SNR to less than -500.0dB.
6586
6587 * examples/sndfile2oct.c
6588 Fixed compiler warnings.
6589
6590 * doc/api.html
6591 Fixed error where last parameter of sf_error_str() was sf_count_t instead
6592 of size_t.
6593
6594 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6595
6596 * doc/FAQ.html
6597 Why doesn't libsndfile do interleaving/de-interleaving.
6598
6599 * tests/pcm_test.tpl
6600 On Win32 do not perform hash check on files containing doubles.
6601
6602 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6603
6604 * src/common.h
6605 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
6606 of type sf_count_t to their maximum positive value.
6607
6608 * src/dwvw.c src/w64.c
6609 Used SF_COUNT_MAX_POSITIVE().
6610
6611 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6612
6613 * src/paf.c
6614 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
6615
6616 * tests/floating_point_tests.c
6617 Fixed hash values for 24 bit PCM PAF files.
6618 Disabled file has check if lrintf() function is not available and added
6619 warning.
6620 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
6621 problems on platforms without lrintf() ie Solaris.
6622
6623 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6624
6625 * src/wav.c
6626 Fixed a problem with two different kinds of mal-formed WAV file header. The
6627 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
6628 incomplete 'INFO' chunk at the end of the file.
6629
6630 * src/w64.c
6631 Added fix to allow differentiation between W64 files and ACID files.
6632
6633 * src/au_g72x.c src/common.h src/sndfile.c
6634 Added error for G72x encoded files with more than one channel.
6635
6636 * tests/pcm_test.tpl tests/utils.tpl
6637 Moved function check_file_hash_or_die() to utils.tpl. Function was then
6638 modified to calculate the has of the whole file.
6639
6640 * src/wav.c
6641 Fixed problem writing the 'fact' chunk on big endian systems.
6642
6643 * tests/sfconvert.c
6644 Fixed bug where .paf files were being written as Sphere NIST.
6645
6646 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6647
6648 * src/voc.c
6649 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
6650
6651 * doc/command.html
6652 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
6653
6654 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6655
6656 * man/sndfile-info.1 man/sndfile-play.1
6657 Added manpages supplied by Joshua Haberman the Debian maintainer for
6658 libsndfile. Additional tweaks by me.
6659
6660 * configure.in man/Makefile.am
6661 Hooked manpages into autoconf/automake system.
6662
6663 * src/sndfile.c
6664 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
6665
6666 * tests/update_header_test.c
6667 Improved rigor of testing.
6668
6669 * src/*.c
6670 Fixed problem with *_write_header() functions.
6671
6672 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6673
6674 * doc/*.html
6675 Updates to documentation to fix problems found by wdg-html-validator.
6676
6677 * src/common.h src/command.c
6678 Added normalize parameter to calls to psf_calc_signal_max() and
6679 psf_calc_max_all_channels().
6680
6681 * src/sndfile.c
6682 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
6683 SFC_CALC_NORM_MAX_ALL_CHANNELS.
6684
6685 * doc/command.html
6686 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
6687
6688 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6689
6690 * examples/sndfile-play.c Win32/Makefile.msvc
6691 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
6692 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
6693 Win32.
6694
6695 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6696
6697 * doc/FAQ.html
6698 New file for frequently asked questsions.
6699
6700 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6701
6702 * doc/api.html
6703 Documentation fixes.
6704
6705 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
6706 Add support of 40kbps G723 ADPCM encoding.
6707
6708 * tests/lossy_comp_test.c tests/floating_point_test.c
6709 Add tests for 40kbps G723 ADPCM encoding.
6710
6711 * doc/index.html
6712 Update support matrix.
6713
6714 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6715
6716 * doc/command.html
6717 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
6718 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
6719
6720 * src/sndfile.c src/pcm.c
6721 Add ability to turn on and off the addition of a PEAK chunk for floating
6722 point WAV and AIFF files.
6723
6724 * src/sndfile.[ch] src/common.h src/command.c
6725 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
6726 Puxeddu.
6727
6728 * doc/command.html
6729 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
6730
6731 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6732
6733 * src/sndfile.c src/gsm610.c
6734 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
6735 encoded RAW (header-less) files.
6736
6737 * src/wav.c
6738 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
6739
6740 * src/api.html
6741 Fixed more documentation bugs.
6742
6743 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6744
6745 * src/sndfile.h src/common.h
6746 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
6747 header file sndfile.h to the private header file common.h to avoid
6748 confusion about the actual capabilities of libsndfile.
6749
6750 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6751
6752 * src/aiff.c src/wav.c
6753 Fixed file parsing for WAV and AIFF files containing non-audio data after
6754 the data chunk.
6755
6756 * src/aiff.c src/sndfile.c
6757 Add support for GSM 6.10 encoded AIFF files.
6758
6759 * tests/lossy_comp_test.c tests/Makefile.am
6760 Add tests for GSM 6.10 encoded AIFF files.
6761
6762 * src/*.c
6763 Fix compiler warnings.
6764
6765 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6766
6767 * tests/command_test.c
6768 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
6769 SF_FORMAT_RAW.
6770
6771 * src/sndfile.c
6772 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
6773 from AIFF and WAV files with non-audio data after the audio chunk.
6774
6775 * src/common.h
6776 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
6777 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
6778 moved to src/sndfile.h
6779
6780 * src/aiff.c src/wav.c
6781 Begin implementation of XXXX_command() hook for sf_command().
6782
6783 * tests/write_read_test.tpl
6784 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
6785 working.
6786
6787 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6788
6789 * tests/update_header_test.c
6790 Allow read sample count == write sample count - 1 to fix problems with VOC
6791 files.
6792
6793 * tests/write_read_test.tpl tests/pcm_test.tpl
6794 Fixed some problems in the test suite discovered by using Valgrind.
6795
6796 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6797
6798 * tests/utils.[ch] tests/*.c
6799 Renamed check_log_buffer() to check_log_buffer_or_die().
6800
6801 * src/sndfile.c
6802 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
6803 for all file formats other than VOC.
6804
6805 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6806
6807 * src/sndfile.[ch] src/common.h
6808 Started adding functionality to allow the file header to be updated before
6809 the file is closed on files open for SFM_WRITE. This was requested by
6810 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
6811
6812 * tests/update_header_test.c
6813 New test program to test that the above functionality is working correctly.
6814
6815 * tests/peak_chunk_test.c tests/floating_point_test.c
6816 Cleanups.
6817
6818 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6819
6820 * src/sfendian.[ch]
6821 Changed length count parameters for all endswap_XXX() functions from
6822 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
6823 functions are only called frin inside the library, are always called with
6824 integer parameters and doing the actual calculation on 64 bit values is
6825 slow in comparision to doing it on ints.
6826
6827 * examples/sndfile-play.c
6828 More playback hacking for Win32.
6829
6830 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6831
6832 * src/common.c
6833 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
6834 added %D specifier for printing the sf_count_t type.
6835
6836 * src/*.c
6837 Changed all usage of psf_log_printf() with %D format conversion specifiers
6838 to use %M conversion instead.
6839
6840 * tests/pcm_test.tpl tests/pcm_test.def
6841 New files to autogen pcm_test.c.
6842
6843 * src/pcm.c
6844 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
6845
6846 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6847
6848 * configure.in
6849 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
6850 values for CFLAGS.
6851
6852 * examples/sndfile-play.c
6853 Start adding playback support for Win32.
6854
6855 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6856
6857 * src/*.c
6858 Worked to removed compiler warnings.
6859 Extensive refactoring.
6860
6861 * src/common.[ch]
6862 Added function psf_memset() which works like the standard C function memset
6863 but takes and sf_count_t as the length parameter.
6864
6865 * src/sndfile.c
6866 Replaced calls to memset(0 with calls to psf_memset() as required.
6867
6868 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6869
6870 * src/sndfile.c
6871 Added "libsndfile : " to the start of all error messages. This was suggested
6872 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
6873
6874 * src/sfendian.[ch]
6875 Added endswap_XXXX_copy() functions.
6876
6877 * src/pcm.c src/float32.c src/double64.c
6878 Use endswap_XXXX_copy() functions and removed dead code.
6879 Cleanups and optimisations.
6880
6881 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6882
6883 * src/sndfile.c src/sndfile.h
6884 Gave values to all the SFC_* enum values to allow better control of the
6885 interface as commands are added and removed.
6886 Added new command SFC_SET_ADD_PEAK_CHUNK.
6887
6888 * src/wav.c src/aiff.c
6889 Modified wav_write_header and aiff_write_header to make addition of a PEAK
6890 chunk optional, even on floating point files.
6891
6892 * tests/benchmark.tpl
6893 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
6894 PEAK chunk for the benchmark where we are trying to miximize speed.
6895
6896 * src.pcm.c
6897 Changed tribyte typedef to something more sensible.
6898 Further conversion speed ups.
6899
6900 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6901
6902 * src/command.c
6903 In major_formats rename "Sphere NIST" to "NIST Sphere".
6904
6905 * src/common.c src/sfendian.c
6906 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
6907 be tweaked to provide maximum performance. Since maximum performance on one
6908 platform does not guarantee maximum performance on another, a small set of
6909 functions will be written and the optimal one chosen at compile time.
6910
6911 * src/common.h src/sfendian.h
6912 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
6913
6914 * src/Makefile.am
6915 Add sfendian.c to build targets.
6916
6917 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6918
6919 * src/pcm.c src/sfendian.h
6920 Re-coded PCM encoders and decoders to match or better the speed of
6921 libsndfile version 0.0.28.
6922
6923 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6924
6925 * src/wav.c
6926 Add checking for WAVPACK data in standard PCM WAV file. Return error if
6927 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
6928 and then stores non-PCM data.
6929
6930 * tests/benchmark.tpl
6931 Added more tests.
6932
6933 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6934
6935 * tests/benchmark.tpl
6936 Added conditional definition of M_PI.
6937 For Win32, set WRITE_PERMS to 0777.
6938
6939 * Win32/Makefile.msvc
6940 Added target to make generate program on Win32.
6941
6942 * src/samplitude.c
6943 Removed handler for Samplitude RAP file format. This file type seems rarer
6944 than hens teeth and is completely undocumented.
6945
6946 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
6947 Removed references to sampltiude RAP format.
6948
6949 * tests/benchmark.tpl
6950 Benchmark program now prints the libsndfile version number when run. This
6951 program was also backported to version 0 to compare results. Version
6952 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
6953 some. The slow ones need to be fixed before final release.
6954
6955 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6956
6957 * tests/benchmark.def tests/benchmark.tpl
6958 New files which generate tests/benchmark.c using Autogen. Added int ->
6959 SF_FORMAT_PCM_24 test.
6960
6961 * tests/benchmark.c
6962 Now and Autogen output file.
6963
6964 * tests/Makefile.am
6965 Updated for above changes.
6966
6967 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6968
6969 * tests/benchmark.c
6970 Basic benchmark program complete. Need to convert it to Autogen.
6971
6972 * Win32/Makefile.msvc
6973 Added benchmark.exe target.
6974
6975 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6976
6977 * examples/generate.c
6978 New program to generate a number of different output file formats from a
6979 single input file. This allows testing of the created files.
6980
6981 * tests/benchmark.c
6982 New test program to benchmark libsndfile. Nowhere near complete yet.
6983
6984 * examples/Makefile.am tests/Makefile.am
6985 New make rules for the two new programs.
6986
6987 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6988
6989 * Win32/libsndfile.def
6990 Removed definition for sf_signal_max().
6991
6992 * src/sndfile.c
6993 Removed cruft.
6994
6995 * doc/index.html
6996 A number of documentation bugs were fixed. Thanks to Anand Kumria.
6997
6998 * doc/version-1.html
6999 Minor doc updates.
7000
7001 * configure.in
7002 Bumped version to 1.0.0rc2.
7003
7004 * src/sf_command.h src/Makefile.am
7005 Removed the header file as it was no longer being used. Thanks to Anand
7006 Kunria for spotting this.
7007
7008 * doc/index.html
7009 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7010
7011 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7012
7013 * src/common.h
7014 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
7015 on Win32..
7016
7017 * src/file_io.c
7018 Win32 fixes to ensure O_BINARY is used for file open.
7019
7020 * doc/win32.html
7021 New file documenting the building libsndfile on Win32.
7022
7023 * doc/*.html
7024 Updating of documentation.
7025
7026 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7027
7028 * tests/pcm_test.c
7029 Minor changes to allow easier determination of test file name.
7030
7031 * src/sndfile.[ch]
7032 Removed function sf_signal_max().
7033
7034 * examples/sndfile-play.c
7035 Changed call to sf_signal_max() to a call to sf_command().
7036
7037 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7038
7039 * src/format.c src/command.c
7040 Renamed format.c to command.c which will now include code for sf_command()
7041 calls to perform operations other than format commands.
7042
7043 * src/sndfile.c src/sndfile.h
7044 Removed function sf_get_signal_max() which is replaced by commands passed
7045 to sf_command().
7046
7047 * src/command.c
7048 Implement commands SFC_CALC_SIGNAL_MAX.
7049
7050 * doc/command.html
7051 Documented SFC_CALC_SIGNAL_MAX.
7052
7053 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7054
7055 * examples/sndfile-play.c
7056 Mods to make sndfile-play work on Solaris. The program sndfile-play now
7057 runs on Linux, MaxOSX and Solaris. Win32 to come.
7058
7059 * src/format.c
7060 Added SF_FORMAT_DWVW_* to subtype_formats array.
7061
7062 * src/nist.c
7063 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
7064 Kumria.
7065
7066 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7067
7068 * examples/sndfile-info.c
7069 Tidy up of output format.
7070
7071 * examnples/sndfile-play.c
7072 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
7073
7074 * configure.in
7075 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
7076 required to supply extra include paths and link parameters to get
7077 sndfile-play working on MacOSX.
7078
7079 * examples/Makefile.am
7080 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
7081 sndfile-play.
7082
7083 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7084
7085 * src/nist.c
7086 Added ability to read/write new NIST Sphere file types (A-law, u-law).
7087 Header parser was re-written from scratch. Example files supplied by Anand
7088 Kumria.
7089
7090 * src/sndfile.c
7091 Support for A-law and u-law NIST files.
7092
7093 * tests/Makefile.am tests/lossy_comp_test.c
7094 Tests for A-law and u-law NIST files.
7095
7096 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7097
7098 * tests/utils.c
7099 Fixed an error in error string.
7100
7101 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7102
7103 * acinclude.m4
7104 Removed exit command to allow cross-compiling.
7105
7106 * Win32/unistd.h src/file_io.c
7107 Moved contents of first file into the second file (enclosed in #ifdef).
7108 Win32/unistd.h is now an empty file but still must be there for libsndfile
7109 to compile on Win32.
7110
7111 * src/sd2.c, src/sndfile.c:
7112 Fixes for Sound Designer II files on big endian systems.
7113
7114 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7115
7116 * configure.in
7117 Modified to work around problems with crappy MacOSX version of sed.
7118 Added sanity check for proper values for CFLAGS.
7119
7120 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7121
7122 * src/sndfile.c
7123 Code clean up in sf_open ().
7124
7125 * Win32/Makefile.msvc
7126 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
7127 together in a new improved form.
7128
7129 * src/file_io.c
7130 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
7131 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
7132
7133 * src/common.h src/sndfile.c src/wav.c src/aiff.c
7134 Added SFE_LOG_OVERRUN error.
7135 Added termination for potential infinite loop when parsing file headers.
7136
7137 * src/wav.c src/w64.c
7138 Fixed bug casuing incorrect header generation when opening file read/write.
7139
7140 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7141
7142 * doc/api.html
7143 Improved the documentation to make it clearer that the file read method
7144 and the underlying file format are completely disconnected. Suggested
7145 by Josh Green.
7146
7147 * doc/command.html
7148 Started correcting docs to take into account changes made to the
7149 operations of the sf_command () function. Not complete yet.
7150
7151 * src/sndfile.c
7152 Reverted some changes which had broken the partially working SDII header
7153 parsing. Now have access to an iBook with OS X so reading and writing SDII
7154 files on all platforms should be a reality in the near future. On Mac this
7155 will involve reading the resource fork via the standard MacOS API. To move
7156 a file from Mac to another OS, the resource and data forks will need to be
7157 combined before transfer. The combined file will be read on both Mac and
7158 other OSes like any other file.
7159
7160 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7161
7162 * ltmain.sh
7163 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
7164 which allows libsndfile to compile on MacOSX 10.1. This patch should not
7165 interfere with compiling on other OSes.
7166
7167 * src/GSM610/private.h
7168 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
7169
7170 * src/float_cast.h
7171 Added MacOSX replacements for lrint() and lrintf().
7172
7173 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7174
7175 * src/sndfile.c
7176 Replaced the code to print the filename to the log buffer when a file is
7177 opened. This code seems to have been left out during the merge of
7178 sf_open_read() and sf_open_write() to make a single functions sf_open().
7179
7180 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7181
7182 * src/wav.c
7183 Fixed a bug where the WAV header parser was going into an infinite loop
7184 on a badly formed LIST chunk. File supplied by David Viens.
7185
7186 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7187
7188 * configure.in
7189 Added a message at the end of the configuration process to warn about the
7190 need for the use of pkg-config when linking programs against version 1 of
7191 libsndfile.
7192
7193 * doc/pkg-config.html
7194 New documentation file containing details of how to use pkg-config to
7195 retrieve settings for CFLAGS and library locations for linking files
7196 against version 1 of libsndfile.
7197
7198 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7199
7200 * src/wav.c
7201 Fixed minor bug in handling of so-called ACIDized WAV files.
7202
7203 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7204
7205 * Win32/libsndfile.def Win32/Makefile.msvc
7206 Two new files contributed by Michael Fink (from the winLAME project)
7207 which allows libsndfile to be built on windows in a MSDOS box by doing
7208 "nmake -f Makefile.msvc". Way cool!
7209
7210 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7211
7212 * configure.in
7213 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
7214 generate a tarball which will configure and compile on that platform.
7215 Joined the libtool mailing list to try and get some answers.
7216
7217 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7218
7219 * configure.in
7220 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
7221 is incompatible with with version 2.13 which had been using until now.
7222 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
7223 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
7224
7225 * configure.in
7226 Changed to automake version 1.5 to try and make a tarball which will
7227 work on MacOSX.
7228
7229 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7230
7231 * src/wav_gsm610.c
7232 Changed name to gsm610.c. Added reading/writing of headerless files.
7233
7234 * src/sndfile.c src/raw.c
7235 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
7236
7237 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7238
7239 * tests/lossy_comp_test.c
7240 Clean up in preparation for Autogen-ing this file.
7241
7242 * src/GSM610/*.[ch]
7243 Code cleanup and prepartion forgetting file seek working. Details in
7244 src/GSM610/ChangeLog.
7245
7246 * sndfile.pc.in
7247 Testing complete. Is sndfile.m4 still needed?
7248
7249 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7250
7251 * tests/write_read_test.tpl tests/rdwr_test.tpl
7252 Merged tests from these two programs into write_read_test.tpl and deleted
7253 rdwr_test.tpl.
7254
7255 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7256
7257 * src/w64.c src/svx.c src/paf.c
7258 Fixed bugs in read/write mode.
7259
7260 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7261
7262 * examples/Makefile.am
7263 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
7264 consistency when these programs become part of the Debian package
7265 sndfile-programs.
7266
7267 * sndfile.pc.in
7268 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
7269 model for providing installation parameters to dependant programs.
7270
7271 * src/sndfile.c
7272 Cleanup of code in sf_open().
7273
7274 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7275
7276 * tests/utils.tpl tests/write_read_test.tpl
7277 More conversion to Autogen fixes and enchancements.
7278
7279 * src/*.c
7280 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
7281 bit float and 64 bit double data. More tests still required.
7282
7283 * src/Makefile.am
7284 Added DISTCLEANFILES target to remove config.status and config.last.
7285
7286 * Win32/Makefile.am MacOS/Makefile.am
7287 Added DISTCLEANFILES target to remove Makefile.
7288
7289 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7290
7291 * src/*.[ch] tests/rdwr_test.c
7292 More verifying workings of read/write mode. Fixing bugs found.
7293
7294 * tests/utils.[ch]
7295 Made these files Autogen generated files.
7296
7297 * tests/util.tpl tests/util.def
7298 New Autogen files to generate utils.[ch]. Moved some generic test functions
7299 into this file. Autogen is such a great tool!
7300
7301 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7302
7303 * src/pcm.c src/float_cast.h Win32/config.h
7304 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
7305 (maintainer of WinLAME) and David Viens.
7306
7307 * tests/check_log_buffer.[ch] tests/utils.[ch]
7308 Moved check_log_buffer() to utils.[ch] and deleted old file.
7309
7310 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7311
7312 * src/common.[ch] src/sndfile.c
7313 New function psf_default_seek() which will be the default seek function
7314 for things like PCM and floating point data. This default is set for
7315 both read and write in sf_open() but can be over-ridden by any codec
7316 during it's initialisation.
7317
7318 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7319
7320 * src/au.c
7321 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
7322 to allow opening files like this.
7323
7324 * tests/rdwr_test .c
7325 Added more tests.
7326
7327 * src/sndfile.c
7328 Fixed bugs in read/write mode found due to improvements in the test
7329 program.
7330
7331 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7332
7333 * tests/rdwr_test .c
7334 New file for testing read/write mode.
7335
7336 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7337
7338 * m4/*
7339 Removed all m4 macros from this directory as they get concatenated to form
7340 the file aclocal.m4 anyway.
7341
7342 * sndfile.m4
7343 Moved this from the m4 directory to the root directory asn this is part of
7344 the distribution and is installed during "make install".
7345
7346 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7347
7348 * src/float32.c
7349 Removed logging of peaks for all file formats other than AIFF and WAV.
7350
7351 * tests/write_read_test.tpl tests/write_read_test.def
7352 New files which autogen uses to generate write_read_test.c. Doing it this
7353 way makes write_read_test.c far easier to maintain. Other test programs
7354 will be converted to autogen in the near future.
7355
7356 * src/*.c
7357 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
7358
7359 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7360
7361 * doc/*.html
7362 Fixed documention versioning.
7363
7364 * configure.in
7365 Fixed a bug in the routines which search for Large File Support on systems
7366 which have large file support by defualt.
7367
7368 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7369
7370 * src/*.[ch]
7371 Found and fixed an issue which can cause a bug in other software (I was
7372 porting Conrad Parker's Sweep program from version 0 of the library to
7373 version 1). When opening a file for write, the libsndfile code would
7374 set the sfinfo.samples field to a maximum value.
7375
7376 * tests/write_read_test.c
7377 Added tests to detect the above problem.
7378
7379 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7380
7381 * src/*.[ch]
7382 Finished base implementation of read/write mode. Much more testing still
7383 needed.
7384
7385 * m4/largefile.m4
7386 Macro for detecting Large File Standard capabilities. This macro was ripped
7387 out of the aclocal.m4 file of GNU tar-1.13.
7388
7389 * configure.in
7390 Added detection of large file support. Files larger than 2 Gigabytes should
7391 now be supported on 64 bit platforms and many 32 bit platforms including
7392 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
7393
7394 * libsndfile_convert_version.py
7395 A Python script which attempts to autoconvert code written to use version 0
7396 to version 1.
7397
7398 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7399
7400 * src/*.[ch]
7401 Finished base implementation of read/write mode. Much more testing still
7402 needed.
7403
7404 * tests/write_read_test.c
7405 Preliminary tests for read/write mode added. More needed.
7406
7407 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7408
7409 * src/sndfile.[ch]
7410 Removed sf_open_read() and sf_open_write() functions,replacting them with
7411 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
7412 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
7413 opening a file formodification (RDWR).
7414
7415 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7416
7417 * src/*.c
7418 Completed merging of separate xxx_open_read() and xxx_open_write()
7419 functions. All tests pass.
7420
7421 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7422
7423 * src/au.c
7424 Massive refactoring required to merge au_open_read() with au_open_write()
7425 to create au_open().
7426
7427 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7428
7429 * src/*.c
7430 Started changes required to allow a sound file to be opened in read/write
7431 mode, with separate file pointers for read and write. This involves merging
7432 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
7433 int a new function pcm_init() as well as doing something similar for all
7434 the file type specific functions ie aiff_open_read() and aiff_open_write()
7435 were merged to make the function aiff_open().
7436
7437 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7438
7439 * src/file_io.c
7440 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
7441 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
7442 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
7443 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
7444
7445 * src/*.c
7446 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
7447 with psf_write and so on.
7448
7449 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7450
7451 * src/dwvw.c
7452 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
7453
7454 * tests/floating_point_test.c
7455 Added tests for 12, 16 and 24 bit DWVW encoding.
7456
7457 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7458
7459 * m4/endian.m4
7460 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
7461 the target CPU. It first checks for the definition of BYTE_ORDER in
7462 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
7463 and the C compiler is not a cross compiler it compiles and runs a program
7464 to test for endian-ness. If the compiler is a cross compiler it makes a
7465 guess based on $target_cpu.
7466
7467 * configure.in
7468 Modified to use AC_C_FIND_ENDIAN.
7469
7470 * src/sfendian.h
7471 Simplified.
7472
7473 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7474
7475 * tests/floating_point_test.c
7476 Tests completely rewritten using the dft_cmp function. Now able to
7477 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
7478
7479 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7480
7481 * tests/dft_cmp.[ch]
7482 New files containing functions for comparing pre and post lossily
7483 compressed data using a quickly hacked DFT.
7484
7485 * tests/utils.[ch]
7486 New files containing functions for saving pre and post encoded data in a
7487 file readable by the GNU Octave package.
7488
7489 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7490
7491 * m4/lrint.m4 m4/lrintf.m4
7492 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
7493 is cached.
7494
7495 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7496
7497 * tests/floating_point_test.c
7498 Fixed improper use of strncat ().
7499
7500 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7501
7502 * tests/headerless_test.c
7503 New test program to test the ability to open and read a known file type as a
7504 RAW header-less file.
7505
7506 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7507
7508 * tests/losy_comp_test.c
7509 Added a test to ensure that the data read from a file is not all zeros.
7510
7511 * examples/sfconvert.c
7512 Added "-gsm610" encoding types.
7513
7514 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7515
7516 * examples/sfconvert.c
7517 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
7518
7519 * tests/dwvw_test.c
7520 New file for testing DWVW encoder/decoder.
7521
7522 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7523
7524 * src/dwvw.c
7525 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
7526
7527 * src/aiff.c
7528 Improved reporting of encoding types.
7529
7530 * src/voc.c
7531 Clean up.
7532
7533 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7534
7535 * src/dwvw.c
7536 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
7537 Reading 12 bit DWVW is now working.
7538
7539 * src/aiff.c common.h sndfile.c
7540 Added hooks for DWVW encoded AIFF and RAW files.
7541
7542 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7543
7544 * src/w64.c
7545 Robustify header parsing.
7546
7547 * src/wav_w64.h
7548 Header file wav.h was renamed to wav_w64.h to signify sharing of
7549 definitions across the two file types.
7550
7551 * src/wav.c src/w64.c src/wav_w64.c
7552 Refactoring.
7553 Modified and moved functions with a high degree of similarity between
7554 wav.c and w64.c to wav_w64.c.
7555
7556 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7557
7558 * src/w64.c
7559 Completed work on getting read and write working.
7560
7561 * examples/sfplay.c
7562 Added code to scale floating point data so it plays at a reasonable volume.
7563
7564 * tests/Makefile.am tests/write_read_test.c
7565 Added tests for W64 files.
7566
7567 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7568
7569 * src/*.c
7570 Modded all code in file header writing routines to use
7571 psf_new_binheader_writef().
7572 Removed psf_binheader_writef() from src/common.c.
7573 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
7574
7575 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7576
7577 * src/*.c
7578 Modded all code in file parsing routines to use psf_new_binheader_readf().
7579 Removed psf_binheader_readf() from src/common.c.
7580 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
7581
7582 * src/common.[ch]
7583 Added new function psf_new_binheader_writef () which will soon replace
7584 psf_binheader_writef (). The new function has basically the same function
7585 as the original but has a more flexible and capable interface. It also
7586 allows the writing of 64 bit integer values for files contains 64 bit file
7587 offsets.
7588
7589 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7590
7591 * src/formats.c src/sndfile.c src/sndfile.h
7592 Added code allowing full enumeration of supported file formats via the
7593 sf_command () interface.
7594 This feature will allow applications to avoid needing recompilation when
7595 support for new file formats are added to libsndfile.
7596
7597 * tests/command_test.c
7598 Added test code for the above feature.
7599
7600 * examples/list_formats.c
7601 New file. An example of the use of the supported file enumeration
7602 interface. This program lists all the major formats and for each major
7603 format the supported subformats.
7604
7605 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7606
7607 * src/*.[ch] tests/*.c
7608 Changed command parameter of sf_command () function from a test string to
7609 an int. The valid values for the command parameter begin with SFC_ and are
7610 listed in src/sndfile.h.
7611
7612 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7613
7614 * src/formats.c src/sndfile.c
7615 Added an way of enumerating a set of common file formats using the
7616 sf_command () interface. This interface was suggested by Dominic Mazzoni,
7617 one of the main authors of Audacity (http://audacity.sourceforge.net/).
7618
7619 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7620
7621 * src/sndfile.c
7622 Added checking of filename parameter in sf_open_read (). Previousy, if a
7623 NULL pointer was passed the library would segfault.
7624
7625 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7626
7627 * src/common.c src/common.h
7628 Changed the len parameter of the endswap_*_array () functions from type
7629 int to type long.
7630
7631 * src/pcm.c
7632 Fixed a problem which
7633
7634 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7635
7636 * src/sndfile.c
7637 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
7638 Paul Hartman for pointing this out.
7639
7640 * tests/lossy_comp_test.c tests/floating_point_test.c
7641 Added definitions for M_PI for when it isn't defined in <math.h>.
7642
7643 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7644
7645 * src/ircam.c
7646 Re-implemented the header reader. Old version was making incorrect
7647 assumptions about the endian-ness of the file from the magic number at the
7648 start of the file. The new code looks at the integer which holds the
7649 number of channels and determines the endian-ness from that.
7650
7651 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7652
7653 * src/aiff.c
7654 Added support for other AIFC types ('raw ', 'in32', '23ni').
7655 Further work on IMA ADPCM encoding.
7656
7657 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7658
7659 * src/ima_adpcm.c
7660 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
7661 encodings for both WAV and AIFF files.
7662
7663 * src/aiff.c
7664 Started adding IMA ADPCM support.
7665
7666 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7667
7668 * src/double.c
7669 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
7670 data.
7671
7672 * src/wav.c src/aiff.c src/au.c src/raw.c
7673 Added support for SF_FORMAT_DOUBLE data.
7674
7675 * src/common.[ch]
7676 Addition of endswap_long_array () for endian swapping 64 bit integers. This
7677 function will work correctly on processors with 32 bit and 64 bit longs.
7678 Optimised endswap_short_array () and endswap_int_array ().
7679
7680 * tests/pcm_test.c
7681 Added and extra check. After the first file of each type is written to disk
7682 a checksum is performed of the first 64 bytes and checked against a pre-
7683 calculated value. This will work whatever the endian-ness of the host
7684 machine.
7685
7686 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7687
7688 * src/aiff.c
7689 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
7690 supplying example files.
7691
7692 * tests/lossy_comp_test.c
7693 Added tests for above.
7694
7695 * src/common.h src/*.c
7696 Removed function typedefs from common.h and function pointer casting in all
7697 the other files. This allows the compiler to perform proper type checking.
7698 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
7699 BeOS etc.
7700
7701 * src/common.[ch]
7702 Added new function psf_new_binheader_readf () which will eventually replace
7703 psf_binheader_readf (). The new function has basically the same function as
7704 the original but has a more flexible and capable interface. It also allows
7705 the reading of 64 bit integer values for files contains 64 bit file
7706 offsets.
7707
7708 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7709
7710 * src/voc.c
7711 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
7712 PCM, u-law and A-law files with one or two channels.
7713
7714 * src/write_read_test.c tests/lossy_comp_test.c
7715 Added tests for VOC files.
7716
7717 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7718
7719 * src/float_cast.h
7720 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
7721 Stephane Letz.
7722
7723 * src/voc.c
7724 More work on this braindamaged format. The VOC files produced by SoX also
7725 have a number of inconsistencies.
7726
7727 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7728
7729 * src/paf.c
7730 Added support for 8 bit PCM PAF files.
7731
7732 * tests/write_read_test.c
7733 Added tests for 8 bit PAF files.
7734
7735 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7736
7737 * tests/pcm_test.c
7738 New test program to test for correct scaling of integer values between
7739 different sized integer containers (ie short -> int).
7740 The new specs for libsndfile state that when the source and destination
7741 containers are of a different size, the most significant bit of the source
7742 value becomes the most significant bit of the destination container.
7743
7744 * src/pcm.c src/paf.c
7745 Modified to pass the above test program.
7746
7747 * tests/write_read_test.c tests/lossy_comp_test.c
7748 Modified to work with the new scaling rules.
7749
7750 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7751
7752 * src/raw.c tests/write_read_test.c tests/write_read_test.c
7753 Added ability to do raw reads/writes of float, u-law and A-law files.
7754
7755 * src/*.[ch] examples/*.[ch] tests/*.[ch]
7756 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
7757 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
7758
7759 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7760
7761 * src/*.[ch]
7762 Started implmentation of major changes documented in doc/version1.html.
7763
7764 Removed all usage of off_t which is not part of the ISO C standard. All
7765 places which were using it are now using type long which is the type of
7766 the offset parameter for the fseek function.
7767 This should fix problems on BeOS, MacOS and *BSD like systems which were
7768 failing "make check" because sizeof (long) != sizeof (off_t).
7769
7770 --------------------------------------------------------------------------------
7771 This is the boundary between version 1 of the library above and version 0 below.
7772 --------------------------------------------------------------------------------
7773
7774 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7775
7776 * examples/sfplay_beos.cpp
7777 Added BeOS version of sfplay.c. This needs to be compiled using a C++
7778 compiler so is therefore not built by default. Thanks to Marcus Overhagen
7779 for providing this.
7780
7781 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7782
7783 * examples/sfplay.c
7784 New example file showing how libsndfile can be used to read and play a
7785 sound file.
7786 At the moment on Linux is supported. Others will follow in the near future.
7787
7788 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7789
7790 * src/pcm.c
7791 Fixed problem with normalisation code where a value of 1.0 could map to
7792 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
7793 pointing this out.
7794
7795 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7796
7797 * src/pcm.c
7798 Fixed scaling issue when reading/writing 8 bit files using
7799 sf_read/sf_write_short ().
7800 On read, values are scaled so that the most significant bit in the char
7801 ends up in the most significant bit of the short. On write, values are
7802 scaled so that most significant bit in the short ends up as the most
7803 significant bit in the char.
7804
7805 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7806
7807 * src/au.c src/sndfile.c
7808 Added support for 32 bit float data in big and little endian AU files.
7809
7810 * tests/write_read_test.c
7811 Added tests for 32 bit float data in AU files.
7812
7813 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7814
7815 * tests/lossy_comp_test.c
7816 Finalised testing of stereo files where possible.
7817
7818 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7819
7820 * src/wav_ms_adpcm.c
7821 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
7822 pointing out this problem.
7823
7824 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7825
7826 * src/wav_ms_adpcm.c
7827 Modified function srate2blocksize () to handle 44k1Hz stereo files.
7828
7829 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7830
7831 * src/w64.c
7832 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
7833 development platform) does not yet support 64 bit file offsets by default,
7834 current handling of this file format treats everything as 32 bit and fails
7835 openning the file, if it finds anything that goes beyond 32 bit values.
7836
7837 * src/sndfile.[hc] src/common.h src/Makefile.am
7838 Added hooks for W64 support.
7839
7840 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7841
7842 * configure.in
7843 Added more warnings options to CFLAGS when the gcc compiler is detected.
7844
7845 * src/*.[ch] tests/*.c examples/*.c
7846 Started fixing the warning messages due to the new CFLASG.
7847
7848 * src/voc.c
7849 More work on VOC file read/writing.
7850
7851 * src/paf.c
7852 Found that PAF files were not checking the normalisation flag when reading
7853 or writing floats and doubles. Fixed it.
7854
7855 * tests/floating_point_test.c
7856 Added specific test for the above problem.
7857
7858 * src/float_cast.h src/pcm.c
7859 Added a section for Win32 to define lrint () and lrintf () in the header
7860 and implement it in the pcm.c
7861
7862 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7863
7864 * sndfile-config.in m4/sndfile.m4
7865 These files were donated by Conrad Parker who also provided instructions
7866 on how to install them using autoconf/automake.
7867
7868 * src/float_cast.h
7869 Fiddled around with this file some more. On Linux and other gcc supported
7870 OSes use the C99 functions lrintf() and lrint() for casting from floating
7871 point to int without incurring the huge perfromance penalty (particularly
7872 on the i386 family) caused by the regular C cast from float to int.
7873 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
7874 I had been playing with.
7875
7876 * configure.in m4/lrint.m4 m4/lrintf.m4
7877 Add detection of these functions.
7878
7879 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7880
7881 * src/voc.c
7882 Completed code for reading VOC files containing a single audio data
7883 segment.
7884 Started implementing code to handle files with multiple VOC_SOUND_DATA
7885 segments but couldn't be bothered finishing it. Multiple segment files can
7886 have different sample rates for different sections and other nasties like
7887 silence and repeat segments.
7888
7889 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7890
7891 * src/common.h src/*.c
7892 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
7893
7894 * src/voc.c
7895 Further development of the read part of this woefult file format.
7896
7897 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7898
7899 * src/float_cast.h
7900 Implemented gcc and i386 floating point to int cast macros. Standard cast
7901 will be used when not on gcc for i385.
7902
7903 * src/pcm.c
7904 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
7905 comply with macros in float_cast.h.
7906
7907 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7908
7909 * src/voc.c
7910 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
7911 on MacOS with CodeWarrior 6.0.
7912
7913 * MacOS/MacOS-readme.txt
7914 Updated the compile instructions. Probably still need work as I don't have
7915 access to a Mac.
7916
7917 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7918
7919 * src/wav.c src/aiff.c common.c
7920 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
7921 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
7922
7923 * src/common.h
7924 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
7925 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
7926
7927 * src/missing.c
7928 New file containing a minimal implementation of snprintf and vsnprintf
7929 functions named missing_snprintf and missing_vsnprintf respectively. These
7930 are only compliled into the binary if snprintf and/or vsnprintf are not
7931 available.
7932
7933 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7934
7935 * src/ircam.c
7936 New file to handle Berkeley/IRCAM/CARL files.
7937
7938 * src/sndfile.c src/common.h
7939 Modified for IRCAM handling.
7940
7941 * tests/*.c
7942 Added tests for IRCAM files.
7943
7944 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7945
7946 * src/wav.c
7947 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
7948 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
7949 header writing code to generate smaller ms compliant ulaw and Alaw WAV
7950 files.
7951
7952 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7953
7954 * tests/stdio_test.sh tests/stdio_test.c
7955 Shell script was rewritten as a C program due to incompatibilities of the
7956 sh shell on Linux and Solaris.
7957
7958 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7959
7960 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
7961 New test programs to verify the correct operation of reading from stdin and
7962 writing to stdout.
7963
7964 * src/sndfile.c wav.c au.c nist.c paf.c
7965 Fixed a bugs uncovered by the new test programs above.
7966
7967 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7968
7969 * src/sndfile.c wav.c
7970 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
7971
7972 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7973
7974 * src/common.h
7975 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
7976 WAV files. Root cause was the declaration of the func_seek typedef not
7977 matching the functions it was actually being used to point to. In OpenBSD
7978 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
7979 to log into his OpenBSD machine to debug this problem.
7980
7981 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7982
7983 * src/sndfile.c
7984 Implemented sf_command ("norm float").
7985
7986 * src/*.c
7987 Implemented handling of sf_command ("set-norm-float"). Float normalization
7988 can now be turned on and off.
7989
7990 * tests/double_test.c
7991 Renamed to floating_point_test.c. Modified to include tests for all scaled
7992 reads and writes of floats and doubles.
7993
7994 * src/au_g72x.c
7995 Fixed bug in normalization code found with improved floating_point_test
7996 program.
7997
7998 * src/wav.c
7999 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
8000 text annotations from WAV files.
8001
8002 * src/aiff.c
8003 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
8004 text annotations from WAV files.
8005
8006 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8007
8008 * examples/sf_info.c example/Makefile.am
8009 Renamed to sndfile_info.c. The program sndfile_info will now be installed
8010 when the library is installed.
8011
8012 * src/float_cast.h
8013 New file defining floating point to short and int casts. These casts will
8014 eventually replace all flot and double casts to short and int. See comments
8015 at the top of the file for the reasoning.
8016
8017 * src/*.c
8018 Changed all default float and double casts to short or int with macros
8019 defined in floatcast.h. At the moment these casts do nothing. They will be
8020 replaced with faster float to int cast operations in the near future.
8021
8022 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8023
8024 * tests/command_test.c
8025 New file for testing sf_command () functionality.
8026
8027 * src/sndfile.c
8028 Revisiting of error return values of some functions.
8029 Started implementing sf_command () a new function will allow on-the-fly
8030 modification of library behaviour, or instance, sample value scaling.
8031
8032 * src/common.h
8033 Added hook for format specific sf_command () calls to SNDFILE struct.
8034
8035 * doc/api.html
8036 Updated and errors corrected.
8037
8038 * doc/command.html
8039 New documentation file explaining new sf_command () function.
8040
8041 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8042
8043 * src/sndfile.c
8044 Fixed error return values from sf_read*() and sf_write*(). There were
8045 numerous instances of -1 being returned through size_t. These now all set
8046 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
8047 spotting this.
8048
8049 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8050
8051 * src/common.c
8052 Fixed use of va_arg() calls that were causing warning messages with the
8053 latest version of gcc (thanks Maurizio Umberto Puxeddu).
8054
8055 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8056
8057 * src/*.c src/sfendian.h
8058 Moved definition of MAKE_MARKER macro to sfendian.h
8059
8060 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8061
8062 * src/sndfile.c
8063 Modified sf_get_lib_version () so that version string will be visible using
8064 the Unix strings command.
8065
8066 * examples/Makefile.am examples/sfinfo.c
8067 Renamed sfinfo program and source code to sf_info. This prevents a name
8068 clash with the program included with libaudiofile.
8069
8070 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8071
8072 * tests/read_seek_test.c tests/lossy_comp_test.c
8073 Added tests for sf_read_float () and sf_readf_float ().
8074
8075 * src/voc.c
8076 New files for handling Creative Voice files (not complete).
8077
8078 * src/samplitude.c
8079 New files for handling Samplitude files (not complete).
8080
8081 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8082
8083 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
8084 Converted these files to using psf_binheader_readf() function. Will soon be
8085 ready to attempt to make reading writing from pipes work reliably.
8086
8087 * src/*.[ch]
8088 Added code for sf_read_float () and sf_readf_float () methods of accessing
8089 file data.
8090
8091 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8092
8093 * src/paf.c src/wav_gsm610.c
8094 Removed two printf()s which had escaped notice for some time (thanks
8095 Sigbjørn Skjæret).
8096
8097 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8098
8099 * src/wav_gsm610.c
8100 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
8101 libsndfile from being played in Windoze (thanks klay).
8102
8103 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8104
8105 * src/common.[ch]
8106 Implemented psf_binheader_readf() which will do for file header reading what
8107 psf_binheader_writef() did for writing headers. Will eventually allow
8108 libsndfile to read and write from pipes, including named pipes.
8109
8110 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8111
8112 * MacOS/config.h Win32/config.h
8113 Attempted to bring these two files uptodate with src/config.h. As I don't
8114 have access to either of these systems support for them may be completely
8115 broken.
8116
8117 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8118
8119 * src/float32.c
8120 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
8121 tested on Intel x86 and UltraSparc processors.
8122
8123 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8124
8125 * src/aiff.c
8126 Modified to allow REX files (from Propellorhead's Recycle and Reason
8127 programs) to be read.
8128 REX files are basically an AIFF file with slightly unusual sequence of
8129 chunks (AIFF files are supposed to allow any sequence) and some extra
8130 application specific information.
8131 Not yet able to write a REX file as the details of the application specific
8132 data is unknown.
8133
8134 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8135
8136 * src/wav.c
8137 Fixed endian bug when reading PEAK chunk on big endian machines.
8138
8139 * src/common.c
8140 Fixed endian bug when reading PEAK chunk on big endian machines with
8141 --enable-force-broken-float configure option.
8142 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
8143
8144 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8145
8146 * configure.in src/config.h.in
8147 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
8148 capabilities are detected at run time.
8149 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
8150 where the processor can in fact handle floats correctly.
8151
8152 * src/float32.c
8153 Rejigged code reading and writing of floats on broken processors.
8154
8155 * m4/
8156 Removed this directory and all its files as they are no longer needed.
8157
8158 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8159
8160 * tests/peak_chunk_test.c
8161 New test to validate reading and writing of peak chunk.
8162
8163 * examples/sfconvert
8164 Added -float32 option.
8165
8166 * src/*.c
8167 Changed all error return values to negative values (ie the negative of what
8168 they were).
8169
8170 * src/sndfile.c tests/error_test.c
8171 Modified to take account of the previous change.
8172
8173 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8174
8175 * src/float32.c
8176 File renamed from wav_float.c and renamed function to something more
8177 general.
8178 Added runtime detection of floating point capabilities.
8179 Added recording of peaks during write for generation of PEAK chunk.
8180
8181 * src/wav.c src/aiff.c
8182 Added handing for PEAK chunk for floating point files. PEAK is read when the
8183 file headers are read and generated when the file is closed. Logic is in
8184 place for adding PEAK chunk to end of file when writing to a pipe (reading
8185 and writing from/to pipe to be implemented soon).
8186
8187 * src/sndfile.c
8188 Modified sf_signal_max () to use PEAK values if present.
8189
8190 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8191
8192 * src/*.c
8193 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
8194 other calls to functions in this file from the filetype specific files.
8195
8196 * src/*.c
8197 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
8198 ulaw_write_init () and removed all other calls to functions in alaw.c and
8199 ulaw.c from the filetype specific files.
8200
8201 * tests/write_read_test.c
8202 Added tests to validate sf_seek () on all file types.
8203
8204 * src/raw.c
8205 Implemented raw_seek () function to fix a bug where
8206 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
8207
8208 * src/paf.c
8209 Fixed a bug in paf24_seek () found due to added seeks tests in
8210 tests/write_read_test.c
8211
8212 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8213
8214 * tests/read_seek_test.c
8215 Fixed a couple of broken binary files.
8216
8217 * src/aiff.c src/wav.c
8218 Added handling of PEAK chunks on file read.
8219
8220 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8221
8222 * check_libsndfile.py
8223 New file for the regression testing of libsndfile.
8224 check_libsndfile.py is a Python script which reads in a file containing
8225 filenames of audio files. Each file is checked by running the examples/sfinfo
8226 program on them and checking for error or warning messages in the libsndfile
8227 log buffer.
8228
8229 * check_libsndfile.list
8230 This is an example list of audio files for use with check_libsndfile.py
8231
8232 * tests/lossy_comp_test.c
8233 Changed the defined value of M_PI for math header files which don't have it.
8234 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
8235 Praetor Satanus of Acheron for bringing this to my attention.
8236
8237 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8238
8239 * src/common.[ch]
8240 Removed psf_header_setf () which was no longer required after refactoring
8241 and simplification of header writing.
8242 Added 'z' format specifier to psf_binheader_writef () for zero filling header
8243 with N bytes. Used by paf.c and nist.c
8244
8245 * tests/check_log_buffer.c
8246 New file implementing check_log_buffer () which reads the log buffer of a
8247 SNDFILE* object and searches for error and warning messages. Calls exit ()
8248 if any are found.
8249
8250 * tests/*.c
8251 Added calls to check_log_buffer () after each call to sf_open_XXX ().
8252
8253 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8254
8255 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
8256 Major rehack of header writing using psf_binheader_writef ().
8257
8258 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8259
8260 * src/wav.c src/wav_ima_adpcm.c
8261 Major rehack of header writing using psf_binheader_writef ().
8262
8263 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8264
8265 * src/wav.c
8266 Changed return type of get_encoding_str () to prevent compiler warnings on
8267 Mac OSX.
8268
8269 * src/aiff.c src/au.c
8270 Major rehack of header writing using psf_binheader_writef ().
8271
8272 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8273
8274 * src/common.h src/common.c
8275 Added comments.
8276 Name of log buffer changed from strbuffer to logbuffer.
8277 Name of log buffer index variable changed from strindex to logindex.
8278
8279 * src/*.[ch]
8280 Changed name of internal logging function from psf_sprintf () to
8281 psf_log_printf ().
8282 Changed name of internal header generation functions from
8283 psf_[ab]h_printf () to psf_asciiheader_printf () and
8284 psf_binheader_writef ().
8285 Changed name of internal header manipulation function psf_hsetf () to
8286 psf_header_setf ().
8287
8288 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8289
8290 * src/nist.c
8291 Fixed reading and writing of sample_byte_format header. "01" means little
8292 endian and "10" means big endian regardless of bit width.
8293
8294 * configure.in
8295 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
8296 way screwed up and spews out buckets of warning messages from the system
8297 headers.
8298 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
8299 easier debugging.
8300 Made decision to harmonise source code version number and .so library
8301 version number. Future releases will stick to this rule.
8302
8303 * doc/new_file_type.HOWTO
8304 New file to document the addition of new file types to libsndfile.
8305
8306 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8307
8308 * src/nist.c
8309 New file for reading/writing Sphere NIST audio file format.
8310 Originally requested by Elis Pomales in 1999.
8311 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
8312 Some vital information gleaned from the source code to Bill Schottstaedt's
8313 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
8314 Currently reading and writing 16, 24 and 32 bit, big-endian and little
8315 endian, stereo and mono files.
8316
8317 * src/common.h src/common.c
8318 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
8319
8320 * configure.in
8321 Added test for vsnprintf () required by psf_ah_printf ().
8322
8323 * tests/write_read_test.c
8324 Added tests for supported NIST files.
8325
8326 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8327
8328 * tests/write_read_test.c
8329 Added tests for little endian AIFC files.
8330
8331 * src/aiff.c
8332 Minor re-working of aiff_open_write ().
8333 Added write support for little endian PCM encoded AIFC files.
8334
8335 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8336
8337 * src/aiff.c
8338 Minor re-working of aiff_open_read ().
8339 Added read support for little endian PCM encoded AIFC files from the Mac
8340 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
8341 and a working patch.
8342 The patch was not used as is but gave a good guide as to what to do.
8343
8344 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8345
8346 * src/sndfile.h
8347 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
8348 pointed out the error.
8349
8350 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8351
8352 * examples/make_sine.c
8353 Re-write of this example using sample rate and required frequency in Hz.
8354
8355 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8356
8357 * src/sndfile.c
8358 Fixed bug that prevented known file types from being read as RAW PCM data.
8359
8360 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8361
8362 * src/aiff.c
8363 Added handing of COMT chunk.
8364
8365 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8366
8367 * examples/sfconvert.c
8368 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
8369
8370 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8371
8372 * Win32/config.h
8373 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
8374
8375 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8376
8377 * tests/Makefile.am
8378 Added -lm for write_read_test_LDADD.
8379
8380 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8381
8382 * src/sndfile.c src/au.c
8383 Fixed bug which prevented writing of G723 24kbps AU files.
8384
8385 * tests/lossy_comp_test.c
8386 Corrrection to options for G723 tests.
8387
8388 * configure.in
8389 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
8390 doesn't allow gcc -pipe option.
8391
8392 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8393
8394 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
8395 Fixed normailsation bugs shown up by new double_test program.
8396
8397 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8398
8399 * src/pcm.c
8400 Fixed bug in normalisation code (spotted by Steve Lhomme).
8401
8402 * tests/double_test.c
8403 New file to test scaled and unscaled sf_read_double() and sf_write_double()
8404 functions.
8405
8406 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8407
8408 * COPYING
8409 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
8410
8411 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8412
8413 * src/sndfile.h
8414 Removed prototype of unimplemented function sf_get_info(). Added prototype
8415 for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
8416
8417 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8418
8419 * src/newpcm.h
8420 New file to contain a complete rewrite of the PCM data handling.
8421
8422 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8423
8424 * src/sndfile.c
8425 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
8426 Skjæret for spotting this one.
8427
8428 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8429
8430 * src/au_g72x.c src/G72x/g72x.c
8431 Added G723 encoded AU file support.
8432
8433 * tests/lossy_comp_test.c
8434 Added tests for G721 and G723 encoded AU files.
8435
8436 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8437
8438 * all files
8439 Changed the license to LGPL. Albert Faber who had copyright on
8440 Win32/unistd.h gave his permission to change the license on that file. All
8441 other files were either copyright erikd AT mega-nerd DOT com or copyright
8442 under a GPL/LGPL compatible license.
8443
8444 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8445
8446 * tests/lossy_comp_test.c
8447 Fixed incorrect error message.
8448
8449 * src/au_g72x.c src/G72x/*
8450 G721 encoded AU files now working.
8451
8452 * Win32/README-Win32.txt
8453 Replaced this file with a new one which gives a full explanation
8454 of how to build libsndfile under Win32. Thanks to Mike Ricos.
8455
8456 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8457
8458 * src/*.[ch]
8459 Removed double leading underscores from the start of all variable and
8460 function names. Identifiers with a leading underscores are reserved
8461 for use by the compiler.
8462
8463 * src/au_g72x.c src/G72x/*
8464 Continued work on G721 encoded AU files.
8465
8466 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8467
8468 * src/G72x/*
8469 New files for reading/writing G721 and G723 ADPCM audio. These files
8470 are from a Sun Microsystems reference implementation released under a
8471 free software licence.
8472 Extensive changes to this code to make it fit in with libsndfile.
8473 See the ChangeLog in this directory for details.
8474
8475 * src/au_g72x.c
8476 New file for G721 encoded AU files.
8477
8478 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8479
8480 * libsndfile.spec.in
8481 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
8482
8483 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8484
8485 * src/sndfile.c src/sndfile.h
8486 Add checking for and handling of header-less u-law encoded AU/SND files.
8487 Any file with a ".au" or ".snd" file extension and without the normal
8488 AU file header is treated as an 8kHz, u-law encoded file.
8489
8490 * src/au.h
8491 New function for opening a headerless u-law encoded file for read.
8492
8493 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8494
8495 * src/paf.c
8496 Add checking for files shorter than minimal PAF file header length.
8497
8498 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8499
8500 * tests/write_read_test.c
8501 Added extra sf_perror() calls when sf_write_XXXX fails.
8502
8503 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8504
8505 * src/common.c
8506 Modified usage of va_arg() macro to work correctly on PowerPC
8507 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
8508 machine while I was trying to track this down.
8509
8510 * configure.in src/*.[ch]
8511 Sorted out some endian-ness issues brought up by PowerPC Linux.
8512
8513 * tests/read_seek_test.c
8514 Added extra debugging for when tests fail.
8515
8516 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8517
8518 * src/wav.c
8519 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
8520 to Sigbjørn Skjæret for reporting this.
8521
8522 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8523
8524 * src/sndfile.c src/wav.c src/wav_gsm610.c
8525 Finallised writing of GSM 6.10 WAV files.
8526
8527 * tests/lossy_comp_test.c
8528 Wrote new test code for GSM 6.10 files.
8529
8530 * examples/sfinfo.c
8531 Fixed incorrect format in printf() statement.
8532
8533 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8534
8535 * src/sndfile.h.in
8536 Fixed comments about sf_perror () and sf_error_str ().
8537
8538 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8539
8540 * configure.in
8541 Fixed --enable-justsrc option.
8542
8543 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8544
8545 * wav.c
8546 Fixed checking of bytespersec field of header. Still some weirdness
8547 with some files.
8548
8549 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8550
8551 * tests/lossy_comp_test.c
8552 Added option to test PCM WAV files (sanity check).
8553 Fixed bug in sf_seek() tests.
8554
8555 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8556
8557 * src/sndfile.c src/wav.c
8558 Minor changes to allow writing of GSM 6.10 WAV files.
8559
8560 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8561
8562 * configure.in Makefile.am src/Makefile.am
8563 Finally got around to figuring out how to build a single library from
8564 multiple source directories.
8565 Reading GSM 6.10 files now seems to work.
8566
8567 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8568
8569 * src/wav.c
8570 Added more error reporting in read_fmt_chunk().
8571
8572 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8573
8574 * examples/sfinfo.c
8575 Modified program to accept multiple filenames from the command line.
8576
8577 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8578
8579 * src/wav_ima_adpcm.c
8580 Moved code around in preparation to adding ability to read/write IMA ADPCM
8581 encoded AIFF files.
8582
8583 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8584
8585 * src/common.c
8586 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
8587 causing seg. faults on Sparc Solaris.
8588
8589 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8590
8591 * src/common.c
8592 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
8593
8594 * src/svx.c
8595 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
8596 set.
8597
8598 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8599
8600 * src/au.c
8601 Fixed handling of incorrect size field in AU header on read. Thanks to
8602 Christoph Lauer for finding this problem.
8603
8604 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8605
8606 * src/aiff.c
8607 Fixed a bug with incorrect SSND chunk length being written. This also lead
8608 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
8609 pointing this out.
8610
8611 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8612
8613 * src/paf.c
8614 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
8615 came to light when implementing tests for the new functions which operate
8616 in terms of frames rather than items.
8617
8618 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8619
8620 * src/sndfile.c
8621 Modified file type detection to use first 12 bytes of file rather than
8622 file name extension. Required this because NIST files use the same
8623 filename extension as Microsoft WAV files.
8624
8625 * src/sndfile.c src/sndfile.h
8626 Added short, int and double read/write functions which work in frames
8627 rather than items. This was originally suggested by Maurizio Umberto
8628 Puxeddu.
8629
8630 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8631
8632 * src/svx.c
8633 Finished off implementation of write using __psf_hprintf().
8634
8635 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8636
8637 * src/common.h
8638 Added a buffer to SF_PRIVATE for writing the header. This is required
8639 to make generating headers for IFF/SVX files easier as well as making
8640 it easier to do re-write the headers which will be required when
8641 sf_rewrite_header() is implemented.
8642
8643 * src/common.c
8644 Implemented __psf_hprintf() function. This is an internal function
8645 which is documented briefly just above the code.
8646
8647 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8648
8649 * src/sndfile.c
8650 Fixed a bug in sf_write_raw() where it was returning incorrect values
8651 (thanks to Richard Dobson for finding this one). Must put in a test
8652 routine for sf_read_raw and sf_write_raw.
8653
8654 * src/aiff.c
8655 Fixed default FORMsize in __aiff_open_write ().
8656
8657 * src/sndfile.c
8658 Added copy of filename to internal data structure. IFF/SVX files
8659 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
8660 copy the file name (less the leading path information) to the
8661 filename field.
8662
8663 * src/svx.c
8664 Started implementing writing of files.
8665
8666 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8667
8668 * src/svx.c
8669 New file for reading/writing 8SVX and 16SVX files.
8670
8671 * src/sndfile.[ch] src/common.h
8672 Changes for SVX files.
8673
8674 * src/aiff.c
8675 Fixed header parsing when unknown chunk is found.
8676
8677 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8678
8679 * src/paf.c
8680 New file for reading/writing Ensoniq PARIS audio file format.
8681
8682 * src/sndfile.[ch] src/common.h
8683 Changes for PAF files.
8684
8685 * src/sndfile.[ch]
8686 Added stuff for sf_get_lib_version() function.
8687
8688
8689 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8690
8691 * src/sndfile.h MacOS/config.h
8692 Fixed minor MacOS configuration issues.
8693
8694 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8695
8696 * MacOS/
8697 Added a new directory for the MacOS config.h file and the
8698 readme file.
8699
8700 * src/aiff.c
8701 Fixed calculation of datalength when reading SSND chunk. Thanks to
8702 Sigbjørn Skjæret for pointing out this error.
8703
8704 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8705
8706 * src/sndfile.c src/sndfile.h src/raw.c
8707 Further fixing of #includes for MacOS.
8708
8709 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8710
8711 * src/wav.c src/aiff.c
8712 Added call to ferror () in main header parsing loop of __XXX_open_read
8713 functions. This should fix problems on platforms (MacOS, AmigaOS) where
8714 fseek()ing or fread()ing beyond the end of the file puts the FILE*
8715 stream in an error state until clearerr() is called.
8716
8717 * tests/write_read_test.c
8718 Added tests for RAW header-less PCM files.
8719
8720 * src/common.h
8721 Moved definition of struct tribyte to pcm.c which is the only place
8722 which needs it.
8723
8724 * src/pcm.c
8725 Modified all code which assumed sizeof (struct tribyte) == 3. This code
8726 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
8727
8728 * src/au.c
8729 Removed <sys/stat.h> from list of #includes (not being used).
8730
8731 * src/sndfile.c
8732 Added MacOS specific #ifdef to replace <sys/stat.h>.
8733
8734 * src/sndfile.h
8735 Added MacOS specific #ifdef to replace <sys/stat.h>.
8736
8737 * src/sndfile.h
8738 Added MacOS specific typedef for off_t.
8739
8740 * MacOS-readme.txt
8741 New file with instructions for building libsndfile under MacOS. Thanks
8742 to Ben "Jacobs" for supplying these instructions.
8743
8744 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8745
8746 * configure.in
8747 Removed sndfile.h from generated file list as there were no longer
8748 any autoconf substitutions being made.
8749
8750 * src/raw.c
8751 New file for handling raw header-less PCM files. In order to open these
8752 for read, the user must specify format, pcmbitwidth and channels in the
8753 SF_INFO struct when calling sf_open_read ().
8754
8755 * src/sndfile.c
8756 Added support for raw header-less PCM files.
8757
8758 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8759
8760 * examples/sfinfo.c
8761 Removed options so the sfinfo program always prints out all the information.
8762
8763 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8764
8765 * src/alaw.c
8766 New file for A-law encoding (similar to u-law).
8767
8768 * tests/alaw_test.c
8769 New test program to test the A-law encode/decode lookup tables.
8770
8771 * tests/lossy_comp_test.c
8772 Added tests for a-law encoded WAV, AU and AULE files.
8773
8774 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8775
8776 * src/sndfile.c src/au.c
8777 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
8778 this out.
8779
8780 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8781
8782 * tests/ulaw_test.c
8783 New test program to test the u-law encode/decode lookup tables.
8784
8785 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8786
8787 * src/sndfile.h
8788 Made corrections to comments on the return values from sf_seek ().
8789
8790 * src/sndfile.c
8791 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
8792
8793 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8794
8795 * src/au.c src/ulaw.c
8796 Finished implementation of u-law encoded AU files.
8797
8798 * src/wav.c
8799 Implemented reading and writing of u-law encoded WAV files.
8800
8801 * tests/
8802 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
8803 will now be used to test Ulaw and Alaw encoding as well as APDCM.
8804 Added tests for Ulaw encoded WAV files.
8805
8806 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8807
8808 * tests/adpcm_test.c
8809 Initialised amp variable in gen_signal() to remove compiler warning.
8810
8811 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8812
8813 * src/aiff.c
8814 In __aiff_open_read () prevented fseek()ing beyond end of file which
8815 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
8816 Ben "Jacobs" for pointing this out.
8817
8818 *src/wav.c
8819 Fixed as above in __wav_open_read ().
8820
8821 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8822
8823 * src/wav_ms_adpcm.c
8824 Implemented MS ADPCM encoding. Code cleanup of decoder.
8825
8826 * tests/adpcm_test.c
8827 Added tests for MS ADPCM WAV files.
8828
8829 * src/wav_ima_adpcm.c
8830 Fixed incorrect parameter in call to srate2blocksize () from
8831 __ima_writer_init ().
8832
8833 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8834
8835 * tests/read_seek_test.c
8836 Added test for 8 bit AIFF files.
8837
8838 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8839
8840 * tests/write_read_test.c
8841 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
8842
8843 * configure.in
8844 Added -Wconversion to CFLAGS.
8845
8846 * src/*.c tests/*.c examples/*.c
8847 Fixed all warnings resulting from use of -Wconversion.
8848
8849 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8850
8851 * src/wav.c
8852 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
8853 WAV files.
8854
8855 * src/wav_ima.c
8856 Changed block alignment to be dependant on sample rate. This should make
8857 WAV files created with libsndfile compatible with the MS Windows media
8858 players.
8859
8860 * tests/adpcm_test.c
8861 Reimplemented adpcm_test_short and implemented adpcm_test_int and
8862 adpcm_test_double.
8863 Now have full testing of IMA ADPCM WAV file read, write and seek.
8864
8865 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8866
8867 * src/wav_float.c
8868 Fixed function prototype for x86f2d_array () which was causing ocassional
8869 seg. faults on Sparc Solaris machines.
8870
8871 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8872
8873 * src/aiff.c
8874 Fixed bug in __aiff_close where the length fields in the header were
8875 not being correctly calculated before writing.
8876
8877 * tests/write_read_test.c
8878 Modified to detect the above bug in WAV, AIFF and AU files.
8879
8880 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8881
8882 * Win32/*
8883 Added a contribution from Albert Faber to allow libsndfile to compile
8884 under Win32 systems. libsndfile will now be used as part of LAME the
8885 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
8886
8887 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8888
8889 * configure.in
8890 Changed to reflect previous changes.
8891
8892 * src/wav_ima_adpcm.c
8893 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
8894
8895 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
8896 to write test code for this.
8897
8898 Fixed bug in __ima_write () whereby the length of the current block was
8899 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
8900
8901 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8902
8903 * src/*.c
8904 Changed all read/write/lseek function calls to fread/fwrite/
8905 fseek/ftell and added error checking of return values from
8906 fread and fwrite in critical areas of the code.
8907
8908 * src/au.c
8909 Fixed incorrect datasize element in AU header on write.
8910
8911 * tests/error_test.c
8912 Add new test to check all error values have an associated error
8913 string. This will avoid embarrassing real world core dumps.
8914
8915 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8916
8917 * src/wav.c src/aiff.c
8918 Added handling for unknown chunk markers in the file.
8919
8920 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8921
8922 * src/sndfile.c
8923 Filled in missing error strings in SndfileErrors array. Missing entries
8924 can cause core dumps when calling sf_error-str (). Thanks to Sam
8925 <mrsam at-sign geocities.com> for finding this problem.
8926
8927 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8928
8929 * src/wav_ima_adpcm.c
8930 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
8931 stereo files. Caused by not adjusting offset into buffer of decoded
8932 samples for 2 channels. A similar bug existed in __ima_write ().
8933 Need a test for stereo ADPCM files.
8934
8935 * src/wav_ms_adpcm.c
8936 Decoder working correctly.
8937
8938 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8939
8940 * configure.in Makefile.am
8941 Added --enable-justsrc configuration variable sent by Sam
8942 <mrsam at-sign geocities.com>.
8943
8944 * src/wav_ima_adpcm.c
8945 Fixed bug when reading beyond end of data section due to not
8946 checking pima->blockcount.
8947 This uncovered __ima_seek () bug due to pima->blockcount being set
8948 before calling __ima_init_block ().
8949
8950 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8951
8952 * src/wav.c
8953 Started implementing MS ADPCM decoder.
8954 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
8955 encoder seems to add an extra byte. Why not just give an even data
8956 length?
8957
8958 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8959
8960 * src/wav.c
8961 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
8962 This will make it easier to add and debug other kinds of WAV files
8963 in future.
8964
8965 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8966
8967 * tests/
8968 Added adpcm_test.c which implements test functions for
8969 IMA ADPCM reading/writing/seeking etc.
8970
8971 * src/wav.c
8972 Fixed many bugs in IMA ADPCM encoder and decoder.
8973
8974 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8975
8976 * src/wav.c
8977 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
8978
8979 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8980
8981 * src/wav.c
8982 Started implementing IMA ADPCM decoder.
8983
8984 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8985
8986 * src/sndfile.c
8987 Fixed bug where the sf_read_XXX functions were returning a
8988 incorrect read count when reading past end of file.
8989 Fixed bug in sf_seek () when seeking backwards from end of file.
8990
8991 * tests/read_seek_test.c
8992 Added multiple read test to short_test(), int_test () and
8993 double_test ().
8994 Added extra chunk to all test WAV files to test that reading
8995 stops at end of 'data' chunk.
8996
8997 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8998
8999 * tests/write_read_test.c
9000 Added tests for little DEC endian AU files.
9001
9002 * src/au.c
9003 Add handling for DEC format little endian AU files.
9004
9005 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9006
9007 * src/aiff.c src/au.c src/wav.c
9008 Add __psf_sprintf calls during header parsing.
9009
9010 * src/sndfile.c src/common.c
9011 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
9012
9013 * tests/write_read_test.c
9014 Added tests for 8 bit PCM files (WAV, AIFF and AU).
9015
9016 * src/au.c src/aiff.c
9017 Add handling of 8 bit PCM data format.
9018
9019 * src/aiff.c
9020 On write, set blocksize in SSND chunk to zero like everybody else.
9021
9022 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9023
9024 * src/pcm.c:
9025 Fixed bug in let2s_array (cptr was not being initialised).
9026
9027 * src/sndfile.c:
9028 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
9029 now work when using these functions.
9030
9031 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9032
9033 * tests/write_read_test.c:
9034 Force test_buffer array to be double aligned. Sparc Solaris
9035 requires this.
9036
9037 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9038
9039 * src/pcm.c:
9040 Fixed a bug which was causing errors in the reading
9041 and writing of 24 bit PCM files.
9042
9043 * doc/api.html
9044 Finished of preliminary documentaion.
9045
9046 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9047
9048 * src/aiff.c:
9049 Changed reading of 'COMM' chunk to avoid reading an int
9050 which overlaps an int (4 byte) boundary.
9051