1 2010-04-14 Brian Cameron <brian.cameron@oracle.com>
3 * audiofile-uninstalled.pc.in, configure.ac: Add uninstalled
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
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>
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
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
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
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
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
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
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
197 * libaudiofile/units.c, libaudiofile/units.h: Define units for
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
206 * libaudiofile/modules.c: Include "debug.h" for debugging
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
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
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,
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
301 2003-09-11 Michael Pruett <michael@68k.org>
303 * test/*.c: Update tests to use exit(EXIT_FAILURE) upon abnormal
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
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
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
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
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
391 * test/testmarkers.c: Add a regression test for markers.
392 * test/printmarkers.c: Add a utility for printing marker
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
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
444 2001-09-18 Michael Pruett <mpruett@sgi.com>
446 * configure.in: Bump version to 0.2.3 in anticipation of the
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
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
494 * libaudiofile/modules/{ima,adpcm}.[ch]: Checked in IMA
495 compression module and Stichting Mathematisch Centrum's IMA
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
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
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
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
617 * libaudiofile/wave.h: Declared additional WAVE format tag
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
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
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
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
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
714 2001-04-19 Michael Pruett <mpruett@sgi.com>
716 * sfcommands/sfconvert.c: Make sfconvert use the sample rate of
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
748 2000-10-24 Michael Pruett <mpruett@sgi.com>
750 * libaudiofile/*: Cleaned up the Audio File Library and improved
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
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
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.
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
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
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.
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
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
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.
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>
885 Replaced some [int == '1234'] comparisons with memcmp.
888 Replaced large enum value with 'const unsigned long' instead, to
889 silence ANSI C compiler warning.
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.
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>
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
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>
1044 Wed Oct 7 02:08:30 CDT 1998 Frank Belew <frb@umr.edu>
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
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.