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