summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 58c0bb10815a6126e0086c3840d2dd4e8fa7d50b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
2004-03-05  Michael Pruett <michael@68k.org>

	* libaudiofile/Makefile.am, libaudiofile/audiofile.exports:
	Export only public entry points.

	* Released version 0.2.6 of the Audio File Library.

2004-02-19  Michael Pruett <michael@68k.org>

	* libaudiofile/audiofile.h: Update comments to reflect the fact
	that AVR and IFF/8SVX file formats are now implemented.

2004-02-18  Michael Pruett <michael@68k.org>

	* test/Makefile.am, test/writeavr.c. test/writeiff.c,
	test/writenist.c: Add regression tests for AVR, IFF/8SVX, and
	NIST SPHERE file formats.

2004-02-14  Michael Pruett <michael@68k.org>

	* configure.in, examples/Makefile.am, examples/osxplay.c: Add
	example program for Mac OS X demonstrating audio file playback
	using the Audio File Library and Core Audio.

2004-02-09  Michael Pruett <michael@68k.org>

	Fabrizio Gennari has contributed several Windows-related fixes:

	* libaudiofile/openclose.c, win32/config.h: Open files with
	binary translation mode under MinGW and Cygwin.
	* win32/sfinfo.dsp: Link against non-debug version of libaudiofile
	when building non-debug version of sfinfo.
	* win32/*: Sychronize MSVC project files with latest source code.

2004-01-27  Michael Pruett <michael@68k.org>

	* libaudiofile/afinternal.h, libaudiofile/openclose.c: Store
	file name in AFfilehandle structure.

	* libaudiofile/Makefile.am, libaudiofile/avr.c,
	libaudiofile/avr.h, libaudiofile/avrwrite.c,
	libaudiofile/units.c: Add support for reading and writing AVR
	files.

2004-01-22  Michael Pruett <michael@68k.org>

	* libaudiofile/util.[ch]: Add functions for reading and writing
	16-bit and 32-bit integers with specified byte order.

	* libaudiofile/Makefile.am, libaudiofile/iff.c,
	libaudiofile/iff.h, libaudiofile/iffwrite.c,
	libaudiofile/units.c: Add support for reading and writing
	IFF/8SVX files.

2004-01-15  Michael Pruett <michael@68k.org>

	* libaudiofile/Makefile.am, libaudiofile/nist.c,
	libaudiofile/nist.h, libaudiofile/nistwrite.c: Add support for
	reading and writing NIST SPHERE files.

	* libaudiofile/audiofile.h: Add constants for new file
	formats.

	* libaudiofile/units.c, libaudiofile/units.h: Define units for
	new file formats.

2004-01-12  Michael Pruett <michael@68k.org>

	* libaudiofile/Makefile.am, libaudiofile/util.[ch],
	libaudiofile/debug.[ch]: Move debugging routines into a
	separate file.

	* libaudiofile/modules.c: Include "debug.h" for debugging
	routines.

2004-01-06  Michael Pruett <michael@68k.org>

	* libaudiofile/afinternal.h, libaudiofile/aiff.h,
	libaudiofile/aiffwrite.c: Eliminate duplicate definition of
	AIFC_VERSION_1 constant.

2003-12-21  Michael Pruett <michael@68k.org>

	* Released version 0.2.5 of the Audio File Library.

2003-12-20  Michael Pruett <michael@68k.org>

	* test/seek.c: Delete temporary file before exiting.

2003-12-17  Michael Pruett <michael@68k.org>

	* libaudiofile/aiff.c: When reading an AIFF-C file with an
	unknown compression type, return an error.

	* libaudiofile/aiff.c: Skip zero-length miscellaneous chunks.

	* libaudiofile/aiff.c: Add support for reading AIFF-C files with
	little-endian audio data.

2003-12-17  Michael Pruett <michael@68k.org>

	Fix two bugs related to processing 24-bit audio data.

	* libaudiofile/data.c: Fix calculation of bytes per virtual frame
	in the case of 24-bit audio data.  Previously, requesting more
	than _AF_ATOMIC_NVFRAMES from afReadFrames when reading a 24-bit
	audio file would result in corrupted audio data since the audio
	data pointer would be incremented using a sample size of 3 bytes
	rather than 4 bytes.

	* libaudiofile/openclose.c: Set virtual sample width by default to
	the same value as file sample width.  Previously for 24-bit audio
	data, the virtual sample width would be incorrectly set to 32.

	* test/twentyfour2.c: Add new test which checks reading and
	writing a large amount of 24-bit audio data.  This program
	serves as a regression test for a bug in the Audio File Library
	in which requesting more than 1024 frames (_AF_ATOMIC_NVFRAMES)
	from afReadFrames when reading a 24-bit audio file would result
	in corrupted audio data.

2003-12-08  Michael Pruett <michael@68k.org>

	* examples/*, test/*: Add examples subdirectory. Separate
	example programs from regression test programs. Remove obsolete
	test programs.

2003-12-03  Michael Pruett <michael@68k.org>

	* sfcommands/sfconvert.c: Fix argument parsing in sfconvert.
	* sfcommands/printinfo.c: Fix format strings to handle different
	sizes of off_t when printing track byte count, data offset,
	and frame count.

2003-10-01  Michael Pruett <michael@68k.org>

	* sfcommands/printinfo.c: Change printfileinfo to display duration
	with millisecond accuracy.

2003-09-29  Michael Pruett <michael@68k.org>

	* test/seek.c: Include <string.h> for memcmp.  Thanks to Christian
	Weisgerber for catching this omission.

2003-09-25  Michael Pruett <michael@68k.org>

	* Released version 0.2.4 of the Audio File Library.

2003-09-24  Michael Pruett <michael@68k.org>

	* libaudiofile/afinternal.h: Remove unused structure definitions.
	* libaudiofile/audiofile.h: Correct return type of afTellFrame
	to be AFframecount rather than AFfileoffset.

2003-09-23  Michael Pruett <michael@68k.org>

	* libaudiofile/modules/ima.c: Include <config.h>.

2003-09-16  Michael Pruett <michael@68k.org>

	* libaudiofile/audiofile.h: Define LIBAUDIOFILE_MICRO_VERSION.

2003-09-15  Michael Pruett <michael@68k.org>

	* test/Makefile.am, test/seek.c: Add test case for seeking within
	an audio file.

2003-09-11  Michael Pruett <michael@68k.org>

	* test/*.c: Update tests to use exit(EXIT_FAILURE) upon abnormal
	termination.

2003-09-11  Michael Pruett <michael@68k.org>

	* libaudiofile/wave.c, libaudiofile/wavewrite.c: Add support
	for miscellaneous data in WAVE files.  Thanks to Davy Durham
	for this patch.

	* test/{misc.sh,miscread.c,miscwrite.c}: Update miscellaneous
	data tests to support WAVE as well as AIFF.

2003-09-11  Michael Pruett <michael@68k.org>

	* libaudiofile/*.c: Replace use of off_t with AFfileoffset and
	AFframecount, as appropriate.
	* configure.in: Add AC_SYS_LARGEFILE in order to support large
	files.

2003-09-09  Michael Pruett <michael@68k.org>

	* libaudiofile/*.c: Include <config.h> as necessary.

2003-09-08  Michael Pruett <michael@68k.org>

	* test/*.c: Update test programs to include <config.h> as necessary.

2003-09-04  Michael Pruett <michael@68k.org>

	* configure.in, libaudiofile/{aiff.c,aiff.h,aiffwrite.c},
	libaudiofile/{ircam.c,ircamwrite.c}, libaudiofile/modules.h,
	libaudiofile/{next.c,nextwrite.c}, libaudiofile/nist.c,
	libaudiofile/{wave.c,wavewrite.c}, libaudiofile/modules/adpcm.h,
	test/{pipe.c,sixteen-to-eight.c,twentyfour.c}: Check for
	<inttypes.h> and include it if available.

	Thanks to Daniel Bergstrom for proposing this change.

2003-08-21  Michael Pruett <mpruett@sgi.com>

	* configure.in, Makefile.am, win32/Makefile.am: Include win32
	directory in distribution.

2003-07-02  Michael Pruett <mpruett@sgi.com>

	* test/testchannelmatrix.c, test/Makefile.am: Add regression
	test for channel matrix functionality.

2003-07-01  Michael Pruett <mpruett@sgi.com>

	Applying a patch from Masahiro Sakai to enable building as a
	DLL under Cygwin.

	* configure.in: Add AC_LIBTOOL_WIN32_DLL and call
	AM_PROG_LIBTOOL after AC_PROG_CC.
	* libaudiofile/Makefile.am: Add -no-undefined to
	libaudiofile_la_LDFLAGS.

2003-06-10  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/format.c: Fix error in channel matrix
	initialization.  Thanks to Jasmin Frenette for reporting this
	problem.

2002-09-11  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/raw.c: Account for data offset when calculating
	frame count on raw audio data files.

	Thanks to Davy Durham for reporting this problem.

	* test/writeraw.c, test/Makefile.am: Add a regression test for
	raw audio data files.

2002-05-17  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/wave.c: Add support for reading names of markers
	in WAVE files.  Locations of WAVE markers are now assumed to be
	in units of frames as is the case with Sound Forge.
	* libaudiofile/wavewrite.c, libaudiofile/wave.h: Add support
	for writing markers in WAVE files.

	Thanks to Davy Durham for the above patches.

	* libaudiofile/marker.[ch]: Change static function findMarkByID
	to non-static _af_mark_find_by_id for use by WAVE file marker
	code.

	* test/testmarkers.c: Add a regression test for markers.
	* test/printmarkers.c: Add a utility for printing marker
	information.
	* test/Makefile.am: Add testmarkers and printmarkers.

2002-05-16  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/wave.c: Compute the frame count of uncompressed
	WAVE files using double-precision floating-point arithmetic.

2002-05-16  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/openclose.c: Implement afOpenVirtualFile.

2002-03-24  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/marker.c: afInitMarkerComment was corrupting the
	marker's name because it would free and allocate the marker's
	name but write to its comment.  Thanks to Daniel Kobras and
	Davy Durham for noticing and fixing this problem.

2002-02-20  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/*: Eliminate unnecessary global symbols.  Thanks
	to Daniel Kobras for fixing this problem.

2002-02-04  Michael Pruett <mpruett@sgi.com>

	* audiofile.spec.in: Add /usr/lib/libaudiofile.la and
	/usr/lib/pkgconfig/audiofile.pc to the RPM spec file.

2001-10-25  Michael Pruett <mpruett@sgi.com>

	* test/irixread.c: Improve error handling.  Use proper
	conversion specifications in printf statements.

	* Makefile.am, configure.in, audiofile.pc.in: Add pkgconfig file.

	* Released version 0.2.3 of the Audio File Library.

2001-10-10  Michael Pruett <mpruett@sgi.com>

	* test/error.c: Expanded the error test to include several more
	library functions.

	* libaudiofile/format.c: Improve error checking and add comments.

2001-09-20  Michael Pruett <mpruett@sgi.com>

	* test/irixread.c, test/irixtestloop.c, test/linuxtest.c:
	Always use virtual audio format in calculations regarding audio
	data in memory.

2001-09-18  Michael Pruett <mpruett@sgi.com>

	* configure.in: Bump version to 0.2.3 in anticipation of the
	upcoming release.

2001-09-08  Michael Pruett <mpruett@sgi.com>

	* test/sgi.c: Replace fixed-point shift with a call to the more
	elegant alDoubleToFixed.

2001-08-29  Michael Pruett <mpruett@sgi.com>

	* test/pipe.{c,sh}: Added simple test of Audio File Library
	operation on non-seekable file handles.

2001-08-28  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/openclose.c: Applied Chris Wolf's patch invoking
	the macro SETBINARYMODE on all file pointers before handing
	them off to the AF VFS.  This macro does nothing on non-Windows
	systems.

2001-08-27  Michael Pruett <mpruett@sgi.com>

	* win32/*: Added Chris Wolf's Windows port of the Audio File Library.

2001-08-24  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/error.c: Include <config.h>.

	* libaudiofile/modules.c: Replacing null macro arguments with
	the token NULLMODULEPARAM so that the module macros will work
	with bad preprocessors.

2001-08-23  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/openclose.c: Include <unistd.h> only if the
	system has this header file.

	* libaudiofile/modules/rebuffer.c: Don't define min and max if
	they've been defined already.

2001-08-23  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/modules/Makefile.am, libaudiofile/units.[ch]:
	Added IMA and MS ADPCM compression modules.

	* libaudiofile/modules/msadpcm.[ch]: Checked in MS ADPCM
	compression module.

	* libaudiofile/modules/{ima,adpcm}.[ch]: Checked in IMA
	compression module and Stichting Mathematisch Centrum's IMA
	reference codec.

	* libaudiofile/afinternal.h: Declared new internal tokens for
	compression parameters in PV lists.

	* libaudiofile/audiofile.h: Declared constants for DV and MS
	ADPCM compression formats.

	* libaudiofile/wave.[ch]: Handle IMA and MS ADPCM compression
	in WAVE files.

	* libaudiofile/openclose.c: If a track has compression
	parameters, deallocate them before closing the file.

	* sfcommands/printinfo.c: Added support for compressed audio
	data to sound commands.

2001-08-07  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/query.c: Added support for
	AF_QUERYTYPE_COMPRESSION.

2001-08-04  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/util.c, libaudiofile/util.h: Add utility
	routines _af_pv_getlong, _af_pv_getdouble, and _af_pv_getptr.

2001-07-19  Michael Pruett <mpruett@sgi.com>

	* Released version 0.2.2 of the Audio File Library.

2001-07-19  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/format.c: Add afSetChannelMatrix and
	afGetVirtualChannels.

	* libaudiofile/openclose.c: Add afIdentifyFD, afIdentifyNamedFD,
	afOpenFD, and afOpenNamedFD.

2001-07-18  Michael Pruett <mpruett@sgi.com>

	* sfcommands/sfconvert.c: Use a fixed-size buffer for reading
	and writing audio data, thus reducing memory usage when
	converting large sound files.  Add float, integer, and channels
	keywords to sfconvert.

	* docs/sfconvert: Updated documentation to reflect new
	keywords.

	* libaudiofile/setup.c: Change the default file format for
	big-endian systems from AIFF to AIFF-C.

	* libaudiofile/{data.c,audiofile.h}: Change the type of the
	buffer parameter of afWriteFrames from void * to const void *.

2001-07-12  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/{aiffwrite.c,wavewrite.c}: Since
	_af_format_frame_size takes compression into account, compute
	the extent of compressed and uncompressed audio data using
	_af_format_frame_size.

	* libaudiofile/wave.c: Add support for double-precision
	floating-point WAVE files.

2001-07-10  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/util.[ch]: Make _af_format_sample_size and
	_af_format_frame_size consider compression.

2001-07-09  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/aiffwrite.c: Make AIFF code handle compressed
	data formats more cleanly.

	* libaudiofile/{wave.h,wave.c,wavewrite.c}: Make WAVE code
	handle compressed data formats more cleanly.

	* test/query2.c: Print default value of instrument parameters
	if instrument parameters are supported.

	* test/{writeulaw.c,writealaw.c}: Update writeulaw and
	writealaw to test G.711 compression in AIFF-C and WAVE files in
	addition to NeXT .snd.

2001-07-08  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/{aiff.c,aiffwrite.c}: Add support for
	floating-point AIFF-C files.

	* test/testfloat.c: Add a test for reading and writing
	floating-point audio files.

	* libaudiofile/af_vfs.[ch]: Change the virtual file read and
	write operations to use size_t and ssize_t as read(2) and
	write(2) do.

2001-07-07  Michael Pruett <mpruett@sgi.com>

	* configure.in, test/Makefile.am: Link against libaudio.so only
	for programs which use it.

2001-07-04  Michael Pruett <mpruett@sgi.com>

	* test/floatto24.c: Added program to test virtual sample format
	conversion from float to 24-bit signed integer.

2001-06-28  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/pcm.c: Added afInitPCMMapping(),
	afGetPCMMapping(), and afGetVirtualPCMMapping().

2001-06-28  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/{wave.c,wavewrite.c}: Improved support for
	floating-point WAVE files.

	* libaudiofile/wave.c: Made error messages more informative for
	currently unsupported data formats such as ADPCM and MPEG
	audio.

	* libaudiofile/wave.h: Declared additional WAVE format tag
	constants.

2001-06-28  Mark Murnane <mark.murnane@sun.com>

	* libaudiofile/{openclose.c,track.c}: Included string.h to
	ensure proper declaration of memset().

	* libaudiofile/util.c: Ditto for memset(), strlen() and strcpy().

	* libaudiofile/modules/g711.c: Ditto for strerror().

	* sfcommands/sfconvert.c: Ditto for strcmp().

2001-06-19  Michael Pruett <mpruett@sgi.com>

	* test/power.c: Adding a new example program which calculates
	the power and peak amplitudes of an audio file.  This program
	is based on Chris Vaill's normalize.

2001-06-06  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/modules.c: Fix conversion between 24-bit and
	32-bit data formats on little-endian systems.  Thanks to Axel
	Roebel for pointing out this problem.

	* libaudiofile/aiffwrite.c:  Don't write a MARK chunk unless
	markers are present.  Don't confuse the big-endian marker id
	used for writing to the file with its native-endian value used
	in calls to afGetMark*.

	* test/twentyfour.c: Add a new program to test the conversion
	between 24-bit signed integer data in a file and 32-bit signed
	integer data in memory.

2001-06-05  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/af_vfs.c: Prevent division by zero in af_fread
	and af_fwrite when size is zero.

	* libaudiofile/aiff.c: Check that the number of markers in a
	MARK chunk is positive before allocating markers.

	Thanks to Axel Roebel for pointing out both of these problems.

2001-05-19  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/nist.[ch]: Checked in support for recognizing
	NIST SPHERE files.

2001-05-16  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/query.c: Backing out last change.  The file
	format and instrument parameter selectors once again return
	arrays of type 'int' rather than arrays of type 'long'.

	Although the AUpv structure uses only long integers, the Audio
	File Library's API uses 'int' and not 'long' when describing
	file formats and instrument parameters.  Furthermore all
	existing applications expect the affected query calls to return
	arrays of int.

	* test/query2.c: Expect arrays of int rather than arrays of
	long when querying on file formats and instrument parameters.

2001-05-09  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/aiffwrite.c: Fix a memory leak in WriteMARK, and
	make WriteMARK use the afGetMark* calls rather than accessing
	track->markers directly.

	* libaudiofile/util.[ch]: Add _af_print_pvlist for debugging.

2001-05-04  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/ircam.[ch]: Make a first pass at supporting the
	IRCAM file format.

2001-04-25  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/query.c: Although the documentation states that
	certain selectors return an array of integers, the AUpv structure
	uses only long integers.  I'm resolving the ambiguity in the
	documentation by making such selectors return an array of long
	integers.

	This change has no impact on platforms where sizeof (int) ==
	sizeof (long), but it makes the query system consistent on
	platforms where the above is not the case.

2001-04-23  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/wavewrite.c: Fixed a bug seen on 64-bit systems
	in which WAVE files would be created with zero-length RIFF and
	data chunks.  (Thanks to Wayne Price for bringing this bug to
	my attention.)

2001-04-19  Michael Pruett <mpruett@sgi.com>

	* sfcommands/sfconvert.c: Make sfconvert use the sample rate of
	the input file.

2001-04-09  Michael Pruett <mpruett@sgi.com>

	* Include <string.h> in source files which use string functions.
	(Thanks to Michael Madore for pointing out this omission.)
	* Fix calculation of file position for G.711 compression.
	(Thanks to Bruce Forsberg for pointing out this bug.)
	* configure.in: Check for int{8,16,32}_t and define them
	appropriately if they are missing.

2001-02-20  Michael Pruett <mpruett@sgi.com>

	* Released version 0.2.1.
	* Removed -release flag on library build.
	* libaudiofile/*: Added some lint-style comments to clean up
	some warnings pointed out by Jean-Francois Panisset.

2000-12-15  Michael Pruett <mpruett@sgi.com>

	* Released version 0.2.

2000-11-01  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/*: Finished integrating the modules code.

2000-10-26  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/raw.[ch]: Added support for raw file reading and
	writing.

2000-10-24  Michael Pruett <mpruett@sgi.com>

	* libaudiofile/*: Cleaned up the Audio File Library and improved
	error handling.

2000-10-09  Michael Pruett <michael@68k.org>

	* libaudiofile/wave*.[ch]: WAVE format chunks can occur in any
	order.  Processing of WAVE chunks now acts accordingly.
	(Thanks to Michael Krause for pointing out shortcomings in the
	previous implementation.)
	* libaudiofile/*.[ch]: The VFS layer doesn't handle SEEK_END
	as a valid mode for fseek; we must use af_flength instead.
	* Removed query from the test suite as it did not handle
	values of AU_NULL_PVLIST returned from afQuery.  (It even
	crashes under IRIX.)

2000-10-04  Michael Pruett <michael@68k.org>

	* libaudiofile/*.c: Added better error handling.
	* libaudiofile/*.c: Added the file format unit structure,
	updated querying accordingly.  All queries except compression
	types are implemented.
	* Added query and query2 to the test suite.

2000-09-13  Michael Pruett <michael@68k.org>

	* libaudiofile/*.c: Added support for G.711 a-law, thanks to
	Bruce Forsberg.

1999-11-20  Michael Pruett <michael@68k.org>

	* libaudiofile/*.c: Cleaning up, added afOpenFD.

1999-08-21  Kjartan Maraas  <kmaraas@online.no>

	* */*c: Even more warning fixes - initialize vars, add 'int' as return
	type of a function, and include headers.
	
1999-08-20 Elliot Lee <sopwith@redhat.com>
	* */*.c: More warning fixes - remove unused variables, add 'int' as return type
	of main(), and include some more header files.

1999-08-18 Anders Carlsson  <anders.carlsson@tordata.se>

	* Fixed compiler warnings.

1999-08-16 Elliot Lee <sopwith@redhat.com>
	* libaudiofile/af_vfs.[ch]: Virtualize file access.
	* libaudiofile/*.[ch]: Use the new virtualized file access routines.

1999-05-09  Michael Pruett  <michael@68k.org>

	* bread.c, ulaw.c: If more sample frames are requested than
	remain in the file, limit the number of sample frames that can
	be returned.  This bug was brought to my attention by Scott
	Heavner.
	* test/sgi.[ch]: These files contain SGI Audio Library routines
	used in SGI-specific test programs.
	* test/irixread.c, test/irixtest.c, test/irixtestloop.c: These
	programs now use the routines contained in sgi.[ch] and are more
	robust.

1999-05-23  Raja R Harinath  <harinath@cs.umn.edu>

	* test/miscread.c: Include <config.h>.
	* test/miscwrite.c: Likewise.
	* test/writeaiff.c: Likewise.
	* test/writenext.c: Likewise.
	* test/writeulaw.c: Likewise.
	* test/writewave.c: Likewise.
 	  
1999-05-09  Michael Pruett  <michael@68k.org>

	* Merge in Audio File Library version 0.1.7.

	* aiff.c: Fixed an obscure bug in AIFF parsing in the
	instrument chunk parsing code.  Made AIFF parsing slightly
	cleaner by replacing multiple-character constant comparisons
	with memcmp and strings.

	* compression.[ch]: Added support for compressed audio.

	* au.c, auwrite.c, ulaw.c, g711.[ch]: Incorporated support for
	G.711 mu-law encoding.  Currently this encoding is only available
	for NeXT/Sun .snd/.au format files.

	* audiofile.c: Virtual byte order is now set properly.

	* aiff.c, audiofile.c, auwrite.c, bread.c, bwrite.c,
	compression.c, instrument.c, loop.c, marker.c, misc.c,
	query.c, ulaw.c: Added more error checking.

	* docs/*: Documentation has been improved.

	* test/*: Several simple test programs have been added as a
	test suite.

	* sfcommands/*: Fix hard-coded virtual byte order since it's
	now set by the library.

	* configure.in: Fixed platform-specific tests and detect byte
	order at configuration time.

1999-04-11  James Henstridge  <james@daa.com.au>

	* audiofile.spec.in: added %{prefix}/share/aclocal/* to files
	list for the devel package.

1999-02-24  Martin Baulig  <martin@home-of-linux.org>

	* configure.in (BUILD_STATIC_LIBS): New automake conditional.

	* sfcommands/Makefile.am, test/Makefile.am: Only link statically
	if we build static libraries.

1999-02-22  Raja R Harinath  <harinath@cs.umn.edu>

	* libaudiofile/audiofile.h (extern "C"): Remove duplicated
	__cplusplus guards.

1999-02-22  Michael Fulbright <drmike@redhat.com>
	* Fixed spec file to be autogenerated

1999-02-22  Michael Pruett  <michael@68k.org>
	    Elliot Lee  <sopwith@redhat.com>

	* */*: Merge in audiofile 0.1.6.
	
1999-01-20  Jeff Garzik  <jgarzik@pobox.com>

	* libaudiofile/wave.c:
	Fix newly-uncovered bug caught by Mike Bond <mike.bond@template.com>.

1999-01-17  Jeff Garzik  <jgarzik@pobox.com>

	* aiff.c, wave.c:
	Replaced some [int == '1234'] comparisons with memcmp.

	* aiff.h:
	Replaced large enum value with 'const unsigned long' instead, to
	silence ANSI C compiler warning.

	* ulaw.c:
	Converted function declarations from K&R to ANSI C, silencing a
	(big surprise) ANSI C compiler warning.

	* libaudiofile/Makefile.am:
	Remove non-existent instrument.h, loop.h, marker.h

	* sfcommands/Makefile.am:
	Add README to EXTRA_DIST.

	* libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
	  libaudiofile/audiofile.c, libaudiofile/auwrite.c,
	  libaudiofile/bread.c, libaudiofile/bwrite.c,
	  libaudiofile/byteorder.c, libaudiofile/byteorder.h,
	  libaudiofile/extended.c, libaudiofile/extended.h,
	  libaudiofile/instrument.c, libaudiofile/loop.c,
	  libaudiofile/marker.c, libaudiofile/misc.c,
	  libaudiofile/swapblock.c, libaudiofile/swapblock.h,
	  libaudiofile/ulaw.c, libaudiofile/ulaw.h:
	More namespace cleanups.  Made a few functions static, several
	more renamed to add "_af_" prefix.

	* libaudiofile/instrument.h, libaudiofile/loop.h,
	  libaudiofile/marker.h:
	Removed because they only contained prototypes of static funcs,
	and were included only by their implementation modules.

1999-01-16  Jeff Garzik  <jgarzik@pobox.com>

	* test/transparency.c:
	Change to unsigned short to avoid Sun CC warning.

	* libaudiofile/swapblock.c:
	Changed const long to a #define, Sun CC choked on the const.
	The definition of u_int16_t may be interfering with array
	definitions like this one, b/c u_int16_t is a macro instead of a
	typedef on Solaris platforms.

	* acconfig.h:
	Protected against multiple inclusion, using @TOP@ and @BOTTOM@.

	* libaudiofile/afinternal.h:
	Include config.h for u_int8_t and friends.

	* libaudiofile/audiofile.h, libaudiofile/aupvlist.h:
	Mark as extern 'c' if C++ compile.

	* libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
	  libaudiofile/au.c, libaudiofile/audiofile.c,
	  libaudiofile/auwrite.c, libaudiofile/bread.c,
	  libaudiofile/bwrite.c, libaudiofile/byteorder.c,
	  libaudiofile/swapblock.c, libaudiofile/util.c,
	  libaudiofile/wave.c, libaudiofile/wavewrite.c,
	  test/miscread.c, test/miscwrite.c:
	s/#if HAVE_CONFIG_H/#ifdef HAVE_CONFIG_H/

1999-01-16  Jeff Garzik  <jgarzik@pobox.com>

	* libaudiofile/afinternal.h, libaudiofile/aiff.c,
	  libaudiofile/aiffwrite.c, libaudiofile/au.c,
	  libaudiofile/audiofile.c, libaudiofile/auwrite.c,
	  libaudiofile/bread.c, libaudiofile/bwrite.c,
	  libaudiofile/error.c, libaudiofile/error.h,
	  libaudiofile/instrument.c, libaudiofile/loop.c,
	  libaudiofile/marker.c, libaudiofile/misc.c,
	  libaudiofile/util.c, libaudiofile/util.h,
	  libaudiofile/wave.c, libaudiofile/wavewrite.c:
	Major namespace cleanups:
	Made several functions static as warranted.
	Renamed a some exported private functions to _af_funcname
	to prevent collision.

1999-01-16  Jeff Garzik  <jgarzik@pobox.com>

	* autogen.sh configure.in acconfig.h:
	Added AM_CONFIG_HEADER and requisite support for it.

	* libaudiofile/aiff.c libaudiofile/aiffwrite.c libaudiofile/au.c
	  libaudiofile/audiofile.c libaudiofile/auwrite.c
	  libaudiofile/bread.c libaudiofile/bwrite.c
	  libaudiofile/byteorder.c libaudiofile/swapblock.c
	  libaudiofile/util.c libaudiofile/wave.c
	  libaudiofile/wavewrite.c test/miscread.c test/miscwrite.c:
	Conditionally include config.h.

1999-01-16  Raja R Harinath  <harinath@cs.umn.edu>

	* libaudiofile/error.c (afSetErrorHandler): Provide a better
	implementation which agrees with the semantics of the variable
	names, and usual "set_error_handler" type of functions.  (Modifies
	a "fix" in commit: "1999-01-16  Jeff Garzik  <jgarzik@pobox.com>").

1999-01-16  Jeff Garzik  <jgarzik@pobox.com>

	* libaudiofile/aes.c, libaudiofile/aiff.c, libaudiofile/aiffwrite.c,
	  libaudiofile/au.c, libaudiofile/audiofile.c, libaudiofile/aupv.c,
	  libaudiofile/auwrite.c, libaudiofile/bread.c, libaudiofile/bwrite.c,
	  libaudiofile/error.c, libaudiofile/loop.c, libaudiofile/misc.c,
	  libaudiofile/swapblock.c, libaudiofile/util.c, libaudiofile/wave.c,
	  libaudiofile/wavewrite.c, sfcommands/printinfo.c,
	  sfcommands/sfconvert.c, sfcommands/sfinfo.c:
	Corrected missing-default-case, unused-var, no-return-value,
	implicit-declaration, other gcc warnings.  Fixing those warnings
	also fixed many bugs.

	* test/adddcoffset.c, test/copy.c, test/linuxtest.c, test/miscread.c,
	  test/miscwrite.c, test/results.c, test/transparency.c:
	Changed main() declaration to standard one, fixed warnings.

1999-01-01  Jeff Garzik  <jgarzik@pobox.com>

	* libaudiofile/audiofile.h:
	Corrected comma-in-final-element warnings.

1998-12-10  Jeff Garzik  <jgarzik@pobox.com>

	* tests/miscwrite.c:
	include string.h to silence warning about strlen

Tue Dec  8 21:38:08 PST 1998 Manish Singh <yosh@gimp.org>

	* auto* fixes for make dist

1998-12-07  Jeff Garzik  <jgarzik@pobox.com>

	* LICENSE:
	Removed.  Automake automatically adds the file COPYING to the
	distribution, so this file is redundant.

1998-12-01  Yo Ric Dude  <ricdude@ix.netcom.com>

	* libaudiofile/Makefile.am, au.c, audiofile.c, audiofile.h,
	bread.c, teach libaudiofile how to handle u-law encoded .au
	files. NOTE: only added routines for reading files.

	* libaudiofile/ulaw.c, libaudiofile/ulaw.h: u-law algorithms from 
	http://www.itl.atr.co.jp/comp.speech/Section2/Q2.7.html.

1998-10-21 Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>
	* added an audiofile-config and an audiofile.m4
	
1998-10-17  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in (u_int_{8,16,32}_t): Define these to some "natural"
	C types if the typedefs are missing.

	* libaudiofile/Makefile.am (include_HEADERS): 
	Remove spurious empty line.

Wed Oct  7 02:13:34 PDT 1998 Manish Singh <yosh@gimp.org>

	* auto* stuff fixes

Wed Oct  7 02:08:30 CDT 1998   Frank Belew   <frb@umr.edu>
	
	* added support for automake, and libtool

1998-07-16  Michael Pruett  <michael@68k.org>

	* Changes for the Audio File Library version 0.1.4.

	AES data functions are now implemented.  They're only effective
	whenusing the AIFF/AIFF-C formats.

	Miscellaneous data functions are now implemented for the
	AIFF/AIFF-C file formats.

	The Audio File Library now uses GNU autoconf.

	The Audio File Library now builds shared libraries.

	Some rudimentary documentation is now included.

1998-06-22  Michael Pruett  <michael@68k.org>

	* Changes for the Audio File Library version 0.1.3

	The Linux-specific test programs should work on all Linux
	platforms which support audio.  (I believe this includes just
	Linux/i386, Linux/PowerPC, and Linux/Alpha.  I may be wrong.)

	The function afReadFrames now returns the proper value.

	The afGetInstParams, afSetInstParams, afGetInstParamLong, and
	afSetInstParamLong calls are now implemented to the same extent
	that SGI's versions are.

	Instrument, marker, and loop data functions are now fully
	implemented.  I'll eventually get around to the miscellaneous data
	functions.

	The AUpvlist functions have been implemented and tested.  The
	afQuery calls are on my list of things to implement.

	A few minor bugs have been fixed.