(Metux) autogen.sh: not running ./configure anymore (breaks certain distro builders)
[mirror-ossqm-audiofile.git] / ChangeLog
blobbde9ef6912f63c1ba894b13f0fdd18f15b4010e2
1 2010-04-14  Brian Cameron <brian.cameron@oracle.com>
3         * audiofile-uninstalled.pc.in, configure.ac: Add uninstalled
4         pkg-config file.
6 2010-03-29  Michael Pruett <michael@68k.org>
8         * libaudiofile/af_vfs.h: Specify C linkage.
10 2010-03-25  Daniel Kobras <kobras@debian.org>
12         * libaudiofile/af_vfs.h: Include <audiofile.h>.
14 2010-03-25  Daniel Kobras <kobras@debian.org>
16         * audiofile.pc.in: Link against libm only for static builds.
18 2010-03-21  Michael Pruett <michael@68k.org>
20         * Released version 0.2.7 of the Audio File Library.
22 2010-03-21  Michael Pruett <michael@68k.org>
24         * libaudiofile/wavewrite.c: Write fact chunk in WAVE files
25         with floating-point audio data.
27 2010-03-21  Michael Pruett <michael@68k.org>
29         * libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
30         libaudiofile/iff.c, libaudiofile/iffwrite.c,
31         libaudiofile/util.c, libaudiofile/util.h, libaudiofile/wave.c,
32         libaudiofile/wavewrite.c: Add convenience functions for reading
33         and writing bytes and Pascal strings.
35 2010-03-18  Michael Pruett <michael@68k.org>
37         * libaudiofile/wave.c, libaudiofile/wavewrite.c: Add support
38         for writing double-precision floating-point WAVE files.
40         * test/Makefile.am, test/testdouble.c: Add test for reading and
41         writing double-precision floating-point audio files.
43 2010-03-18  Michael Pruett <michael@68k.org>
45         * libaudiofile/aiffwrite.c, libaudiofile/avr.c, libaudiofile/ircam.c,
46         libaudiofile/next.c, libaudiofile/raw.c, libaudiofile/wave.c,
47         libaudiofile/wavewrite.c: Fix handling of audio files with more than
48         2^24 frames.
50         * test/Makefile.am, test/large.c: Add test for reading and writing
51         audio files with more than 2^24 frames.
53 2010-03-17  Michael Pruett <michael@68k.org>
55         * Mark module function tables as constant.
57 2010-03-17  Jason Allen <lorddut@gmail.com>
59         * Mark data as constant in order to minimize unshared data.
61 2010-03-16  Michael Pruett <michael@68k.org>
63         * Use C99 bool type.
65 2010-03-16  Michael Pruett <michael@68k.org>
67         * libaudiofile/afinternal.h, libaudiofile/modules/adpcm.c,
68         libaudiofile/modules/adpcm.h, libaudiofile/modules/ima.c,
69         libaudiofile/modules/msadpcm.c, libaudiofile/wave.c: Fix decoding
70         of multi-channel ADPCM audio files.
72 2010-03-15  Michael Pruett <michael@68k.org>
74         * Use C99 integer types.
76 2010-03-12  Wim Lewis <wiml@omnigroup.com>
78         * libaudiofile/debug.c, libaudiofile/modules/msadpcm.c,
79         libaudiofile/modules/ima.c, libaudiofile/wavewrite.c,
80         libaudiofile/query.c: Remove unused variables and fix warnings.
82 2004-11-14  Michael Pruett <michael@68k.org>
84         * libaudiofile/aiff.c: Add support for reading more nonstandard
85         uncompressed two's complement AIFF-C files created by Mac OS X.
87 2004-09-14  Michael Pruett <michael@68k.org>
89         * libaudiofile/aiff.c: Add support for reading nonstandard
90         uncompressed AIFF-C files created by Mac OS X.
92 2004-07-21  Michael Pruett <michael@68k.org>
94         * examples/power.c: Change invocations of 'abs' to 'fabs' since
95         arguments are doubles.
97         * sfcommands/sfconvert.c: Add support for converting to the NIST
98         SPHERE file format.
100 2004-06-26  Michael Pruett <michael@68k.org>
102         * libaudiofile/aiff.c, libaudiofile/aiff.h, libaudiofile/aiffwrite.c,
103         libaudiofile/next.c, libaudiofile/nextwrite.c, libaudiofile/wave.c,
104         libaudiofile/wavewrite.c: Clean up AIFF, WAVE, and NeXT file parsing
105         and writing code by using af_{read,write}_uint{16,32}_{be,le} where
106         appropriate.
108 2004-04-14  Michael Pruett <michael@68k.org>
110         * configure.in: Update configure.in to conform to current
111         autoconf conventions.
113         Thanks to Nico Roeser for this patch.
115 2004-03-29  Michael Pruett <michael@68k.org>
117         * docs/*: Update documentation.
119 2004-03-11  Michael Pruett <michael@68k.org>
121         * audiofile.m4: Quote AM_PATH_AUDIOFILE in order to fix
122         automake warning.
124         * libaudiofile/Makefile.am: Prepend audiofile.exports with
125         $(srcdir) in order to allow building from another directory.
127         Thanks to Frederic L. W. Meunier for these fixes.
129         * libaudiofile/audiofile.exports: Add VFS functions to list of
130         exported symbols.
132         Thanks to Daniel Kobras for pointing out this omission.
134 2004-03-05  Michael Pruett <michael@68k.org>
136         * libaudiofile/Makefile.am, libaudiofile/audiofile.exports:
137         Export only public entry points.
139         * Released version 0.2.6 of the Audio File Library.
141 2004-02-19  Michael Pruett <michael@68k.org>
143         * libaudiofile/audiofile.h: Update comments to reflect the fact
144         that AVR and IFF/8SVX file formats are now implemented.
146 2004-02-18  Michael Pruett <michael@68k.org>
148         * test/Makefile.am, test/writeavr.c. test/writeiff.c,
149         test/writenist.c: Add regression tests for AVR, IFF/8SVX, and
150         NIST SPHERE file formats.
152 2004-02-14  Michael Pruett <michael@68k.org>
154         * configure.in, examples/Makefile.am, examples/osxplay.c: Add
155         example program for Mac OS X demonstrating audio file playback
156         using the Audio File Library and Core Audio.
158 2004-02-09  Michael Pruett <michael@68k.org>
160         Fabrizio Gennari has contributed several Windows-related fixes:
162         * libaudiofile/openclose.c, win32/config.h: Open files with
163         binary translation mode under MinGW and Cygwin.
164         * win32/sfinfo.dsp: Link against non-debug version of libaudiofile
165         when building non-debug version of sfinfo.
166         * win32/*: Sychronize MSVC project files with latest source code.
168 2004-01-27  Michael Pruett <michael@68k.org>
170         * libaudiofile/afinternal.h, libaudiofile/openclose.c: Store
171         file name in AFfilehandle structure.
173         * libaudiofile/Makefile.am, libaudiofile/avr.c,
174         libaudiofile/avr.h, libaudiofile/avrwrite.c,
175         libaudiofile/units.c: Add support for reading and writing AVR
176         files.
178 2004-01-22  Michael Pruett <michael@68k.org>
180         * libaudiofile/util.[ch]: Add functions for reading and writing
181         16-bit and 32-bit integers with specified byte order.
183         * libaudiofile/Makefile.am, libaudiofile/iff.c,
184         libaudiofile/iff.h, libaudiofile/iffwrite.c,
185         libaudiofile/units.c: Add support for reading and writing
186         IFF/8SVX files.
188 2004-01-15  Michael Pruett <michael@68k.org>
190         * libaudiofile/Makefile.am, libaudiofile/nist.c,
191         libaudiofile/nist.h, libaudiofile/nistwrite.c: Add support for
192         reading and writing NIST SPHERE files.
194         * libaudiofile/audiofile.h: Add constants for new file
195         formats.
197         * libaudiofile/units.c, libaudiofile/units.h: Define units for
198         new file formats.
200 2004-01-12  Michael Pruett <michael@68k.org>
202         * libaudiofile/Makefile.am, libaudiofile/util.[ch],
203         libaudiofile/debug.[ch]: Move debugging routines into a
204         separate file.
206         * libaudiofile/modules.c: Include "debug.h" for debugging
207         routines.
209 2004-01-06  Michael Pruett <michael@68k.org>
211         * libaudiofile/afinternal.h, libaudiofile/aiff.h,
212         libaudiofile/aiffwrite.c: Eliminate duplicate definition of
213         AIFC_VERSION_1 constant.
215 2003-12-21  Michael Pruett <michael@68k.org>
217         * Released version 0.2.5 of the Audio File Library.
219 2003-12-20  Michael Pruett <michael@68k.org>
221         * test/seek.c: Delete temporary file before exiting.
223 2003-12-17  Michael Pruett <michael@68k.org>
225         * libaudiofile/aiff.c: When reading an AIFF-C file with an
226         unknown compression type, return an error.
228         * libaudiofile/aiff.c: Skip zero-length miscellaneous chunks.
230         * libaudiofile/aiff.c: Add support for reading AIFF-C files with
231         little-endian audio data.
233 2003-12-17  Michael Pruett <michael@68k.org>
235         Fix two bugs related to processing 24-bit audio data.
237         * libaudiofile/data.c: Fix calculation of bytes per virtual frame
238         in the case of 24-bit audio data.  Previously, requesting more
239         than _AF_ATOMIC_NVFRAMES from afReadFrames when reading a 24-bit
240         audio file would result in corrupted audio data since the audio
241         data pointer would be incremented using a sample size of 3 bytes
242         rather than 4 bytes.
244         * libaudiofile/openclose.c: Set virtual sample width by default to
245         the same value as file sample width.  Previously for 24-bit audio
246         data, the virtual sample width would be incorrectly set to 32.
248         * test/twentyfour2.c: Add new test which checks reading and
249         writing a large amount of 24-bit audio data.  This program
250         serves as a regression test for a bug in the Audio File Library
251         in which requesting more than 1024 frames (_AF_ATOMIC_NVFRAMES)
252         from afReadFrames when reading a 24-bit audio file would result
253         in corrupted audio data.
255 2003-12-08  Michael Pruett <michael@68k.org>
257         * examples/*, test/*: Add examples subdirectory. Separate
258         example programs from regression test programs. Remove obsolete
259         test programs.
261 2003-12-03  Michael Pruett <michael@68k.org>
263         * sfcommands/sfconvert.c: Fix argument parsing in sfconvert.
264         * sfcommands/printinfo.c: Fix format strings to handle different
265         sizes of off_t when printing track byte count, data offset,
266         and frame count.
268 2003-10-01  Michael Pruett <michael@68k.org>
270         * sfcommands/printinfo.c: Change printfileinfo to display duration
271         with millisecond accuracy.
273 2003-09-29  Michael Pruett <michael@68k.org>
275         * test/seek.c: Include <string.h> for memcmp.  Thanks to Christian
276         Weisgerber for catching this omission.
278 2003-09-25  Michael Pruett <michael@68k.org>
280         * Released version 0.2.4 of the Audio File Library.
282 2003-09-24  Michael Pruett <michael@68k.org>
284         * libaudiofile/afinternal.h: Remove unused structure definitions.
285         * libaudiofile/audiofile.h: Correct return type of afTellFrame
286         to be AFframecount rather than AFfileoffset.
288 2003-09-23  Michael Pruett <michael@68k.org>
290         * libaudiofile/modules/ima.c: Include <config.h>.
292 2003-09-16  Michael Pruett <michael@68k.org>
294         * libaudiofile/audiofile.h: Define LIBAUDIOFILE_MICRO_VERSION.
296 2003-09-15  Michael Pruett <michael@68k.org>
298         * test/Makefile.am, test/seek.c: Add test case for seeking within
299         an audio file.
301 2003-09-11  Michael Pruett <michael@68k.org>
303         * test/*.c: Update tests to use exit(EXIT_FAILURE) upon abnormal
304         termination.
306 2003-09-11  Michael Pruett <michael@68k.org>
308         * libaudiofile/wave.c, libaudiofile/wavewrite.c: Add support
309         for miscellaneous data in WAVE files.  Thanks to Davy Durham
310         for this patch.
312         * test/{misc.sh,miscread.c,miscwrite.c}: Update miscellaneous
313         data tests to support WAVE as well as AIFF.
315 2003-09-11  Michael Pruett <michael@68k.org>
317         * libaudiofile/*.c: Replace use of off_t with AFfileoffset and
318         AFframecount, as appropriate.
319         * configure.in: Add AC_SYS_LARGEFILE in order to support large
320         files.
322 2003-09-09  Michael Pruett <michael@68k.org>
324         * libaudiofile/*.c: Include <config.h> as necessary.
326 2003-09-08  Michael Pruett <michael@68k.org>
328         * test/*.c: Update test programs to include <config.h> as necessary.
330 2003-09-04  Michael Pruett <michael@68k.org>
332         * configure.in, libaudiofile/{aiff.c,aiff.h,aiffwrite.c},
333         libaudiofile/{ircam.c,ircamwrite.c}, libaudiofile/modules.h,
334         libaudiofile/{next.c,nextwrite.c}, libaudiofile/nist.c,
335         libaudiofile/{wave.c,wavewrite.c}, libaudiofile/modules/adpcm.h,
336         test/{pipe.c,sixteen-to-eight.c,twentyfour.c}: Check for
337         <inttypes.h> and include it if available.
339         Thanks to Daniel Bergstrom for proposing this change.
341 2003-08-21  Michael Pruett <mpruett@sgi.com>
343         * configure.in, Makefile.am, win32/Makefile.am: Include win32
344         directory in distribution.
346 2003-07-02  Michael Pruett <mpruett@sgi.com>
348         * test/testchannelmatrix.c, test/Makefile.am: Add regression
349         test for channel matrix functionality.
351 2003-07-01  Michael Pruett <mpruett@sgi.com>
353         Applying a patch from Masahiro Sakai to enable building as a
354         DLL under Cygwin.
356         * configure.in: Add AC_LIBTOOL_WIN32_DLL and call
357         AM_PROG_LIBTOOL after AC_PROG_CC.
358         * libaudiofile/Makefile.am: Add -no-undefined to
359         libaudiofile_la_LDFLAGS.
361 2003-06-10  Michael Pruett <mpruett@sgi.com>
363         * libaudiofile/format.c: Fix error in channel matrix
364         initialization.  Thanks to Jasmin Frenette for reporting this
365         problem.
367 2002-09-11  Michael Pruett <mpruett@sgi.com>
369         * libaudiofile/raw.c: Account for data offset when calculating
370         frame count on raw audio data files.
372         Thanks to Davy Durham for reporting this problem.
374         * test/writeraw.c, test/Makefile.am: Add a regression test for
375         raw audio data files.
377 2002-05-17  Michael Pruett <mpruett@sgi.com>
379         * libaudiofile/wave.c: Add support for reading names of markers
380         in WAVE files.  Locations of WAVE markers are now assumed to be
381         in units of frames as is the case with Sound Forge.
382         * libaudiofile/wavewrite.c, libaudiofile/wave.h: Add support
383         for writing markers in WAVE files.
385         Thanks to Davy Durham for the above patches.
387         * libaudiofile/marker.[ch]: Change static function findMarkByID
388         to non-static _af_mark_find_by_id for use by WAVE file marker
389         code.
391         * test/testmarkers.c: Add a regression test for markers.
392         * test/printmarkers.c: Add a utility for printing marker
393         information.
394         * test/Makefile.am: Add testmarkers and printmarkers.
396 2002-05-16  Michael Pruett <mpruett@sgi.com>
398         * libaudiofile/wave.c: Compute the frame count of uncompressed
399         WAVE files using double-precision floating-point arithmetic.
401 2002-05-16  Michael Pruett <mpruett@sgi.com>
403         * libaudiofile/openclose.c: Implement afOpenVirtualFile.
405 2002-03-24  Michael Pruett <mpruett@sgi.com>
407         * libaudiofile/marker.c: afInitMarkerComment was corrupting the
408         marker's name because it would free and allocate the marker's
409         name but write to its comment.  Thanks to Daniel Kobras and
410         Davy Durham for noticing and fixing this problem.
412 2002-02-20  Michael Pruett <mpruett@sgi.com>
414         * libaudiofile/*: Eliminate unnecessary global symbols.  Thanks
415         to Daniel Kobras for fixing this problem.
417 2002-02-04  Michael Pruett <mpruett@sgi.com>
419         * audiofile.spec.in: Add /usr/lib/libaudiofile.la and
420         /usr/lib/pkgconfig/audiofile.pc to the RPM spec file.
422 2001-10-25  Michael Pruett <mpruett@sgi.com>
424         * test/irixread.c: Improve error handling.  Use proper
425         conversion specifications in printf statements.
427         * Makefile.am, configure.in, audiofile.pc.in: Add pkgconfig file.
429         * Released version 0.2.3 of the Audio File Library.
431 2001-10-10  Michael Pruett <mpruett@sgi.com>
433         * test/error.c: Expanded the error test to include several more
434         library functions.
436         * libaudiofile/format.c: Improve error checking and add comments.
438 2001-09-20  Michael Pruett <mpruett@sgi.com>
440         * test/irixread.c, test/irixtestloop.c, test/linuxtest.c:
441         Always use virtual audio format in calculations regarding audio
442         data in memory.
444 2001-09-18  Michael Pruett <mpruett@sgi.com>
446         * configure.in: Bump version to 0.2.3 in anticipation of the
447         upcoming release.
449 2001-09-08  Michael Pruett <mpruett@sgi.com>
451         * test/sgi.c: Replace fixed-point shift with a call to the more
452         elegant alDoubleToFixed.
454 2001-08-29  Michael Pruett <mpruett@sgi.com>
456         * test/pipe.{c,sh}: Added simple test of Audio File Library
457         operation on non-seekable file handles.
459 2001-08-28  Michael Pruett <mpruett@sgi.com>
461         * libaudiofile/openclose.c: Applied Chris Wolf's patch invoking
462         the macro SETBINARYMODE on all file pointers before handing
463         them off to the AF VFS.  This macro does nothing on non-Windows
464         systems.
466 2001-08-27  Michael Pruett <mpruett@sgi.com>
468         * win32/*: Added Chris Wolf's Windows port of the Audio File Library.
470 2001-08-24  Michael Pruett <mpruett@sgi.com>
472         * libaudiofile/error.c: Include <config.h>.
474         * libaudiofile/modules.c: Replacing null macro arguments with
475         the token NULLMODULEPARAM so that the module macros will work
476         with bad preprocessors.
478 2001-08-23  Michael Pruett <mpruett@sgi.com>
480         * libaudiofile/openclose.c: Include <unistd.h> only if the
481         system has this header file.
483         * libaudiofile/modules/rebuffer.c: Don't define min and max if
484         they've been defined already.
486 2001-08-23  Michael Pruett <mpruett@sgi.com>
488         * libaudiofile/modules/Makefile.am, libaudiofile/units.[ch]:
489         Added IMA and MS ADPCM compression modules.
491         * libaudiofile/modules/msadpcm.[ch]: Checked in MS ADPCM
492         compression module.
494         * libaudiofile/modules/{ima,adpcm}.[ch]: Checked in IMA
495         compression module and Stichting Mathematisch Centrum's IMA
496         reference codec.
498         * libaudiofile/afinternal.h: Declared new internal tokens for
499         compression parameters in PV lists.
501         * libaudiofile/audiofile.h: Declared constants for DV and MS
502         ADPCM compression formats.
504         * libaudiofile/wave.[ch]: Handle IMA and MS ADPCM compression
505         in WAVE files.
507         * libaudiofile/openclose.c: If a track has compression
508         parameters, deallocate them before closing the file.
510         * sfcommands/printinfo.c: Added support for compressed audio
511         data to sound commands.
513 2001-08-07  Michael Pruett <mpruett@sgi.com>
515         * libaudiofile/query.c: Added support for
516         AF_QUERYTYPE_COMPRESSION.
518 2001-08-04  Michael Pruett <mpruett@sgi.com>
520         * libaudiofile/util.c, libaudiofile/util.h: Add utility
521         routines _af_pv_getlong, _af_pv_getdouble, and _af_pv_getptr.
523 2001-07-19  Michael Pruett <mpruett@sgi.com>
525         * Released version 0.2.2 of the Audio File Library.
527 2001-07-19  Michael Pruett <mpruett@sgi.com>
529         * libaudiofile/format.c: Add afSetChannelMatrix and
530         afGetVirtualChannels.
532         * libaudiofile/openclose.c: Add afIdentifyFD, afIdentifyNamedFD,
533         afOpenFD, and afOpenNamedFD.
535 2001-07-18  Michael Pruett <mpruett@sgi.com>
537         * sfcommands/sfconvert.c: Use a fixed-size buffer for reading
538         and writing audio data, thus reducing memory usage when
539         converting large sound files.  Add float, integer, and channels
540         keywords to sfconvert.
542         * docs/sfconvert: Updated documentation to reflect new
543         keywords.
545         * libaudiofile/setup.c: Change the default file format for
546         big-endian systems from AIFF to AIFF-C.
548         * libaudiofile/{data.c,audiofile.h}: Change the type of the
549         buffer parameter of afWriteFrames from void * to const void *.
551 2001-07-12  Michael Pruett <mpruett@sgi.com>
553         * libaudiofile/{aiffwrite.c,wavewrite.c}: Since
554         _af_format_frame_size takes compression into account, compute
555         the extent of compressed and uncompressed audio data using
556         _af_format_frame_size.
558         * libaudiofile/wave.c: Add support for double-precision
559         floating-point WAVE files.
561 2001-07-10  Michael Pruett <mpruett@sgi.com>
563         * libaudiofile/util.[ch]: Make _af_format_sample_size and
564         _af_format_frame_size consider compression.
566 2001-07-09  Michael Pruett <mpruett@sgi.com>
568         * libaudiofile/aiffwrite.c: Make AIFF code handle compressed
569         data formats more cleanly.
571         * libaudiofile/{wave.h,wave.c,wavewrite.c}: Make WAVE code
572         handle compressed data formats more cleanly.
574         * test/query2.c: Print default value of instrument parameters
575         if instrument parameters are supported.
577         * test/{writeulaw.c,writealaw.c}: Update writeulaw and
578         writealaw to test G.711 compression in AIFF-C and WAVE files in
579         addition to NeXT .snd.
581 2001-07-08  Michael Pruett <mpruett@sgi.com>
583         * libaudiofile/{aiff.c,aiffwrite.c}: Add support for
584         floating-point AIFF-C files.
586         * test/testfloat.c: Add a test for reading and writing
587         floating-point audio files.
589         * libaudiofile/af_vfs.[ch]: Change the virtual file read and
590         write operations to use size_t and ssize_t as read(2) and
591         write(2) do.
593 2001-07-07  Michael Pruett <mpruett@sgi.com>
595         * configure.in, test/Makefile.am: Link against libaudio.so only
596         for programs which use it.
598 2001-07-04  Michael Pruett <mpruett@sgi.com>
600         * test/floatto24.c: Added program to test virtual sample format
601         conversion from float to 24-bit signed integer.
603 2001-06-28  Michael Pruett <mpruett@sgi.com>
605         * libaudiofile/pcm.c: Added afInitPCMMapping(),
606         afGetPCMMapping(), and afGetVirtualPCMMapping().
608 2001-06-28  Michael Pruett <mpruett@sgi.com>
610         * libaudiofile/{wave.c,wavewrite.c}: Improved support for
611         floating-point WAVE files.
613         * libaudiofile/wave.c: Made error messages more informative for
614         currently unsupported data formats such as ADPCM and MPEG
615         audio.
617         * libaudiofile/wave.h: Declared additional WAVE format tag
618         constants.
620 2001-06-28  Mark Murnane <mark.murnane@sun.com>
622         * libaudiofile/{openclose.c,track.c}: Included string.h to
623         ensure proper declaration of memset().
625         * libaudiofile/util.c: Ditto for memset(), strlen() and strcpy().
627         * libaudiofile/modules/g711.c: Ditto for strerror().
629         * sfcommands/sfconvert.c: Ditto for strcmp().
631 2001-06-19  Michael Pruett <mpruett@sgi.com>
633         * test/power.c: Adding a new example program which calculates
634         the power and peak amplitudes of an audio file.  This program
635         is based on Chris Vaill's normalize.
637 2001-06-06  Michael Pruett <mpruett@sgi.com>
639         * libaudiofile/modules.c: Fix conversion between 24-bit and
640         32-bit data formats on little-endian systems.  Thanks to Axel
641         Roebel for pointing out this problem.
643         * libaudiofile/aiffwrite.c:  Don't write a MARK chunk unless
644         markers are present.  Don't confuse the big-endian marker id
645         used for writing to the file with its native-endian value used
646         in calls to afGetMark*.
648         * test/twentyfour.c: Add a new program to test the conversion
649         between 24-bit signed integer data in a file and 32-bit signed
650         integer data in memory.
652 2001-06-05  Michael Pruett <mpruett@sgi.com>
654         * libaudiofile/af_vfs.c: Prevent division by zero in af_fread
655         and af_fwrite when size is zero.
657         * libaudiofile/aiff.c: Check that the number of markers in a
658         MARK chunk is positive before allocating markers.
660         Thanks to Axel Roebel for pointing out both of these problems.
662 2001-05-19  Michael Pruett <mpruett@sgi.com>
664         * libaudiofile/nist.[ch]: Checked in support for recognizing
665         NIST SPHERE files.
667 2001-05-16  Michael Pruett <mpruett@sgi.com>
669         * libaudiofile/query.c: Backing out last change.  The file
670         format and instrument parameter selectors once again return
671         arrays of type 'int' rather than arrays of type 'long'.
673         Although the AUpv structure uses only long integers, the Audio
674         File Library's API uses 'int' and not 'long' when describing
675         file formats and instrument parameters.  Furthermore all
676         existing applications expect the affected query calls to return
677         arrays of int.
679         * test/query2.c: Expect arrays of int rather than arrays of
680         long when querying on file formats and instrument parameters.
682 2001-05-09  Michael Pruett <mpruett@sgi.com>
684         * libaudiofile/aiffwrite.c: Fix a memory leak in WriteMARK, and
685         make WriteMARK use the afGetMark* calls rather than accessing
686         track->markers directly.
688         * libaudiofile/util.[ch]: Add _af_print_pvlist for debugging.
690 2001-05-04  Michael Pruett <mpruett@sgi.com>
692         * libaudiofile/ircam.[ch]: Make a first pass at supporting the
693         IRCAM file format.
695 2001-04-25  Michael Pruett <mpruett@sgi.com>
697         * libaudiofile/query.c: Although the documentation states that
698         certain selectors return an array of integers, the AUpv structure
699         uses only long integers.  I'm resolving the ambiguity in the
700         documentation by making such selectors return an array of long
701         integers.
703         This change has no impact on platforms where sizeof (int) ==
704         sizeof (long), but it makes the query system consistent on
705         platforms where the above is not the case.
707 2001-04-23  Michael Pruett <mpruett@sgi.com>
709         * libaudiofile/wavewrite.c: Fixed a bug seen on 64-bit systems
710         in which WAVE files would be created with zero-length RIFF and
711         data chunks.  (Thanks to Wayne Price for bringing this bug to
712         my attention.)
714 2001-04-19  Michael Pruett <mpruett@sgi.com>
716         * sfcommands/sfconvert.c: Make sfconvert use the sample rate of
717         the input file.
719 2001-04-09  Michael Pruett <mpruett@sgi.com>
721         * Include <string.h> in source files which use string functions.
722         (Thanks to Michael Madore for pointing out this omission.)
723         * Fix calculation of file position for G.711 compression.
724         (Thanks to Bruce Forsberg for pointing out this bug.)
725         * configure.in: Check for int{8,16,32}_t and define them
726         appropriately if they are missing.
728 2001-02-20  Michael Pruett <mpruett@sgi.com>
730         * Released version 0.2.1.
731         * Removed -release flag on library build.
732         * libaudiofile/*: Added some lint-style comments to clean up
733         some warnings pointed out by Jean-Francois Panisset.
735 2000-12-15  Michael Pruett <mpruett@sgi.com>
737         * Released version 0.2.
739 2000-11-01  Michael Pruett <mpruett@sgi.com>
741         * libaudiofile/*: Finished integrating the modules code.
743 2000-10-26  Michael Pruett <mpruett@sgi.com>
745         * libaudiofile/raw.[ch]: Added support for raw file reading and
746         writing.
748 2000-10-24  Michael Pruett <mpruett@sgi.com>
750         * libaudiofile/*: Cleaned up the Audio File Library and improved
751         error handling.
753 2000-10-09  Michael Pruett <michael@68k.org>
755         * libaudiofile/wave*.[ch]: WAVE format chunks can occur in any
756         order.  Processing of WAVE chunks now acts accordingly.
757         (Thanks to Michael Krause for pointing out shortcomings in the
758         previous implementation.)
759         * libaudiofile/*.[ch]: The VFS layer doesn't handle SEEK_END
760         as a valid mode for fseek; we must use af_flength instead.
761         * Removed query from the test suite as it did not handle
762         values of AU_NULL_PVLIST returned from afQuery.  (It even
763         crashes under IRIX.)
765 2000-10-04  Michael Pruett <michael@68k.org>
767         * libaudiofile/*.c: Added better error handling.
768         * libaudiofile/*.c: Added the file format unit structure,
769         updated querying accordingly.  All queries except compression
770         types are implemented.
771         * Added query and query2 to the test suite.
773 2000-09-13  Michael Pruett <michael@68k.org>
775         * libaudiofile/*.c: Added support for G.711 a-law, thanks to
776         Bruce Forsberg.
778 1999-11-20  Michael Pruett <michael@68k.org>
780         * libaudiofile/*.c: Cleaning up, added afOpenFD.
782 1999-08-21  Kjartan Maraas  <kmaraas@online.no>
784         * */*c: Even more warning fixes - initialize vars, add 'int' as return
785         type of a function, and include headers.
786         
787 1999-08-20 Elliot Lee <sopwith@redhat.com>
788         * */*.c: More warning fixes - remove unused variables, add 'int' as return type
789         of main(), and include some more header files.
791 1999-08-18 Anders Carlsson  <anders.carlsson@tordata.se>
793         * Fixed compiler warnings.
795 1999-08-16 Elliot Lee <sopwith@redhat.com>
796         * libaudiofile/af_vfs.[ch]: Virtualize file access.
797         * libaudiofile/*.[ch]: Use the new virtualized file access routines.
799 1999-05-09  Michael Pruett  <michael@68k.org>
801         * bread.c, ulaw.c: If more sample frames are requested than
802         remain in the file, limit the number of sample frames that can
803         be returned.  This bug was brought to my attention by Scott
804         Heavner.
805         * test/sgi.[ch]: These files contain SGI Audio Library routines
806         used in SGI-specific test programs.
807         * test/irixread.c, test/irixtest.c, test/irixtestloop.c: These
808         programs now use the routines contained in sgi.[ch] and are more
809         robust.
811 1999-05-23  Raja R Harinath  <harinath@cs.umn.edu>
813         * test/miscread.c: Include <config.h>.
814         * test/miscwrite.c: Likewise.
815         * test/writeaiff.c: Likewise.
816         * test/writenext.c: Likewise.
817         * test/writeulaw.c: Likewise.
818         * test/writewave.c: Likewise.
819           
820 1999-05-09  Michael Pruett  <michael@68k.org>
822         * Merge in Audio File Library version 0.1.7.
824         * aiff.c: Fixed an obscure bug in AIFF parsing in the
825         instrument chunk parsing code.  Made AIFF parsing slightly
826         cleaner by replacing multiple-character constant comparisons
827         with memcmp and strings.
829         * compression.[ch]: Added support for compressed audio.
831         * au.c, auwrite.c, ulaw.c, g711.[ch]: Incorporated support for
832         G.711 mu-law encoding.  Currently this encoding is only available
833         for NeXT/Sun .snd/.au format files.
835         * audiofile.c: Virtual byte order is now set properly.
837         * aiff.c, audiofile.c, auwrite.c, bread.c, bwrite.c,
838         compression.c, instrument.c, loop.c, marker.c, misc.c,
839         query.c, ulaw.c: Added more error checking.
841         * docs/*: Documentation has been improved.
843         * test/*: Several simple test programs have been added as a
844         test suite.
846         * sfcommands/*: Fix hard-coded virtual byte order since it's
847         now set by the library.
849         * configure.in: Fixed platform-specific tests and detect byte
850         order at configuration time.
852 1999-04-11  James Henstridge  <james@daa.com.au>
854         * audiofile.spec.in: added %{prefix}/share/aclocal/* to files
855         list for the devel package.
857 1999-02-24  Martin Baulig  <martin@home-of-linux.org>
859         * configure.in (BUILD_STATIC_LIBS): New automake conditional.
861         * sfcommands/Makefile.am, test/Makefile.am: Only link statically
862         if we build static libraries.
864 1999-02-22  Raja R Harinath  <harinath@cs.umn.edu>
866         * libaudiofile/audiofile.h (extern "C"): Remove duplicated
867         __cplusplus guards.
869 1999-02-22  Michael Fulbright <drmike@redhat.com>
870         * Fixed spec file to be autogenerated
872 1999-02-22  Michael Pruett  <michael@68k.org>
873             Elliot Lee  <sopwith@redhat.com>
875         * */*: Merge in audiofile 0.1.6.
876         
877 1999-01-20  Jeff Garzik  <jgarzik@pobox.com>
879         * libaudiofile/wave.c:
880         Fix newly-uncovered bug caught by Mike Bond <mike.bond@template.com>.
882 1999-01-17  Jeff Garzik  <jgarzik@pobox.com>
884         * aiff.c, wave.c:
885         Replaced some [int == '1234'] comparisons with memcmp.
887         * aiff.h:
888         Replaced large enum value with 'const unsigned long' instead, to
889         silence ANSI C compiler warning.
891         * ulaw.c:
892         Converted function declarations from K&R to ANSI C, silencing a
893         (big surprise) ANSI C compiler warning.
895         * libaudiofile/Makefile.am:
896         Remove non-existent instrument.h, loop.h, marker.h
898         * sfcommands/Makefile.am:
899         Add README to EXTRA_DIST.
901         * libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
902           libaudiofile/audiofile.c, libaudiofile/auwrite.c,
903           libaudiofile/bread.c, libaudiofile/bwrite.c,
904           libaudiofile/byteorder.c, libaudiofile/byteorder.h,
905           libaudiofile/extended.c, libaudiofile/extended.h,
906           libaudiofile/instrument.c, libaudiofile/loop.c,
907           libaudiofile/marker.c, libaudiofile/misc.c,
908           libaudiofile/swapblock.c, libaudiofile/swapblock.h,
909           libaudiofile/ulaw.c, libaudiofile/ulaw.h:
910         More namespace cleanups.  Made a few functions static, several
911         more renamed to add "_af_" prefix.
913         * libaudiofile/instrument.h, libaudiofile/loop.h,
914           libaudiofile/marker.h:
915         Removed because they only contained prototypes of static funcs,
916         and were included only by their implementation modules.
918 1999-01-16  Jeff Garzik  <jgarzik@pobox.com>
920         * test/transparency.c:
921         Change to unsigned short to avoid Sun CC warning.
923         * libaudiofile/swapblock.c:
924         Changed const long to a #define, Sun CC choked on the const.
925         The definition of u_int16_t may be interfering with array
926         definitions like this one, b/c u_int16_t is a macro instead of a
927         typedef on Solaris platforms.
929         * acconfig.h:
930         Protected against multiple inclusion, using @TOP@ and @BOTTOM@.
932         * libaudiofile/afinternal.h:
933         Include config.h for u_int8_t and friends.
935         * libaudiofile/audiofile.h, libaudiofile/aupvlist.h:
936         Mark as extern 'c' if C++ compile.
938         * libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
939           libaudiofile/au.c, libaudiofile/audiofile.c,
940           libaudiofile/auwrite.c, libaudiofile/bread.c,
941           libaudiofile/bwrite.c, libaudiofile/byteorder.c,
942           libaudiofile/swapblock.c, libaudiofile/util.c,
943           libaudiofile/wave.c, libaudiofile/wavewrite.c,
944           test/miscread.c, test/miscwrite.c:
945         s/#if HAVE_CONFIG_H/#ifdef HAVE_CONFIG_H/
947 1999-01-16  Jeff Garzik  <jgarzik@pobox.com>
949         * libaudiofile/afinternal.h, libaudiofile/aiff.c,
950           libaudiofile/aiffwrite.c, libaudiofile/au.c,
951           libaudiofile/audiofile.c, libaudiofile/auwrite.c,
952           libaudiofile/bread.c, libaudiofile/bwrite.c,
953           libaudiofile/error.c, libaudiofile/error.h,
954           libaudiofile/instrument.c, libaudiofile/loop.c,
955           libaudiofile/marker.c, libaudiofile/misc.c,
956           libaudiofile/util.c, libaudiofile/util.h,
957           libaudiofile/wave.c, libaudiofile/wavewrite.c:
958         Major namespace cleanups:
959         Made several functions static as warranted.
960         Renamed a some exported private functions to _af_funcname
961         to prevent collision.
963 1999-01-16  Jeff Garzik  <jgarzik@pobox.com>
965         * autogen.sh configure.in acconfig.h:
966         Added AM_CONFIG_HEADER and requisite support for it.
968         * libaudiofile/aiff.c libaudiofile/aiffwrite.c libaudiofile/au.c
969           libaudiofile/audiofile.c libaudiofile/auwrite.c
970           libaudiofile/bread.c libaudiofile/bwrite.c
971           libaudiofile/byteorder.c libaudiofile/swapblock.c
972           libaudiofile/util.c libaudiofile/wave.c
973           libaudiofile/wavewrite.c test/miscread.c test/miscwrite.c:
974         Conditionally include config.h.
976 1999-01-16  Raja R Harinath  <harinath@cs.umn.edu>
978         * libaudiofile/error.c (afSetErrorHandler): Provide a better
979         implementation which agrees with the semantics of the variable
980         names, and usual "set_error_handler" type of functions.  (Modifies
981         a "fix" in commit: "1999-01-16  Jeff Garzik  <jgarzik@pobox.com>").
983 1999-01-16  Jeff Garzik  <jgarzik@pobox.com>
985         * libaudiofile/aes.c, libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
986           libaudiofile/au.c, libaudiofile/audiofile.c, libaudiofile/aupv.c,
987           libaudiofile/auwrite.c, libaudiofile/bread.c, libaudiofile/bwrite.c,
988           libaudiofile/error.c, libaudiofile/loop.c, libaudiofile/misc.c,
989           libaudiofile/swapblock.c, libaudiofile/util.c, libaudiofile/wave.c,
990           libaudiofile/wavewrite.c, sfcommands/printinfo.c,
991           sfcommands/sfconvert.c, sfcommands/sfinfo.c:
992         Corrected missing-default-case, unused-var, no-return-value,
993         implicit-declaration, other gcc warnings.  Fixing those warnings
994         also fixed many bugs.
996         * test/adddcoffset.c, test/copy.c, test/linuxtest.c, test/miscread.c,
997           test/miscwrite.c, test/results.c, test/transparency.c:
998         Changed main() declaration to standard one, fixed warnings.
1000 1999-01-01  Jeff Garzik  <jgarzik@pobox.com>
1002         * libaudiofile/audiofile.h:
1003         Corrected comma-in-final-element warnings.
1005 1998-12-10  Jeff Garzik  <jgarzik@pobox.com>
1007         * tests/miscwrite.c:
1008         include string.h to silence warning about strlen
1010 Tue Dec  8 21:38:08 PST 1998 Manish Singh <yosh@gimp.org>
1012         * auto* fixes for make dist
1014 1998-12-07  Jeff Garzik  <jgarzik@pobox.com>
1016         * LICENSE:
1017         Removed.  Automake automatically adds the file COPYING to the
1018         distribution, so this file is redundant.
1020 1998-12-01  Yo Ric Dude  <ricdude@ix.netcom.com>
1022         * libaudiofile/Makefile.am, au.c, audiofile.c, audiofile.h,
1023         bread.c, teach libaudiofile how to handle u-law encoded .au
1024         files. NOTE: only added routines for reading files.
1026         * libaudiofile/ulaw.c, libaudiofile/ulaw.h: u-law algorithms from 
1027         http://www.itl.atr.co.jp/comp.speech/Section2/Q2.7.html.
1029 1998-10-21 Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>
1030         * added an audiofile-config and an audiofile.m4
1031         
1032 1998-10-17  Raja R Harinath  <harinath@cs.umn.edu>
1034         * configure.in (u_int_{8,16,32}_t): Define these to some "natural"
1035         C types if the typedefs are missing.
1037         * libaudiofile/Makefile.am (include_HEADERS): 
1038         Remove spurious empty line.
1040 Wed Oct  7 02:13:34 PDT 1998 Manish Singh <yosh@gimp.org>
1042         * auto* stuff fixes
1044 Wed Oct  7 02:08:30 CDT 1998   Frank Belew   <frb@umr.edu>
1045         
1046         * added support for automake, and libtool
1048 1998-07-16  Michael Pruett  <michael@68k.org>
1050         * Changes for the Audio File Library version 0.1.4.
1052         AES data functions are now implemented.  They're only effective
1053         whenusing the AIFF/AIFF-C formats.
1055         Miscellaneous data functions are now implemented for the
1056         AIFF/AIFF-C file formats.
1058         The Audio File Library now uses GNU autoconf.
1060         The Audio File Library now builds shared libraries.
1062         Some rudimentary documentation is now included.
1064 1998-06-22  Michael Pruett  <michael@68k.org>
1066         * Changes for the Audio File Library version 0.1.3
1068         The Linux-specific test programs should work on all Linux
1069         platforms which support audio.  (I believe this includes just
1070         Linux/i386, Linux/PowerPC, and Linux/Alpha.  I may be wrong.)
1072         The function afReadFrames now returns the proper value.
1074         The afGetInstParams, afSetInstParams, afGetInstParamLong, and
1075         afSetInstParamLong calls are now implemented to the same extent
1076         that SGI's versions are.
1078         Instrument, marker, and loop data functions are now fully
1079         implemented.  I'll eventually get around to the miscellaneous data
1080         functions.
1082         The AUpvlist functions have been implemented and tested.  The
1083         afQuery calls are on my list of things to implement.
1085         A few minor bugs have been fixed.