2013-02-05 Michael Pruett * Release version 0.3.5 of the Audio File Library. 2013-02-04 Michael Pruett * gtest/Makefile.am, libaudiofile/Makefile.am, test/Makefile.am: Disable exceptions and RTTI when building Google Test framework. 2013-02-04 Michael Pruett * libaudiofile/File.cpp, libaudiofile/File.h: Fix resource leak in File destructor. 2013-02-02 Michael Pruett * libaudiofile/Makefile.am, libaudiofile/modules/Makefile.am: Remove test coverage files when cleaning. 2013-02-02 Michael Pruett * libaudiofile/IRCAM.cpp: Fix calculation of IRCAM frame size. 2013-02-02 Michael Pruett * test/PCMData.cpp: Update PCMData test to create multi-channel audio files. 2013-01-31 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/CAF.cpp: Report error when attempting to open a file with invalid sample width. 2013-01-31 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/CAF.cpp, libaudiofile/NeXT.cpp, libaudiofile/VOC.cpp, libaudiofile/WAVE.cpp: Report error when attempting to open a file with zero channels. 2013-01-31 Michael Pruett * test/NeXT.cpp: Add test for opening a NeXT sound file with zero channels. 2013-01-30 Michael Pruett * libaudiofile/NIST.cpp: Remove unnecessary check for positive channel count. This check is already performed in afInitChannels(). 2013-01-30 Michael Pruett * libaudiofile/SampleVision.cpp: Set compression type before initializing sample format. 2013-01-30 Michael Pruett * test/TestUtilities.cpp: Include to provide declaration of close(). 2013-01-30 Michael Pruett * libaudiofile/AIFF.h, libaudiofile/AVR.h, libaudiofile/CAF.h, libaudiofile/Compiler.h, libaudiofile/IFF.h, libaudiofile/IRCAM.h, libaudiofile/NIST.h, libaudiofile/NeXT.h, libaudiofile/SampleVision.h, libaudiofile/VOC.h, libaudiofile/WAVE.h, libaudiofile/modules/G711.cpp, libaudiofile/modules/IMA.cpp, libaudiofile/modules/MSADPCM.cpp, libaudiofile/modules/PCM.cpp, libaudiofile/modules/RebufferModule.h, libaudiofile/modules/SimpleModule.h: Use C++11 override keyword with compilers that support it. 2013-01-19 Michael Pruett * libaudiofile/CAF.cpp, libaudiofile/util.cpp: Fix conversion specifications in error messages. 2013-01-19 Michael Pruett * libaudiofile/format.cpp, test/Makefile.am, test/SampleFormat.cpp: Fix null checks in afGetSampleFormat() and afGetVirtualSampleFormat(). Thanks to David Lassonde for pointing out this problem. 2013-01-19 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/AudioFormat.h, libaudiofile/CAF.cpp, libaudiofile/NeXT.cpp, libaudiofile/VOC.cpp, libaudiofile/WAVE.cpp, libaudiofile/modules/G711.cpp, libaudiofile/modules/IMA.cpp, libaudiofile/modules/MSADPCM.cpp, libaudiofile/modules/ModuleState.cpp, test/InvalidCompressionFormat.cpp: Validate compressed audio formats. 2012-11-13 Michael Pruett * configure.ac, docs/Makefile.am: Add support for building without documentation. 2012-11-12 Michael Pruett * libaudiofile/File.cpp: Open files in binary mode on Windows. Thanks to Fabrizio Gennari for proposing this change. 2012-10-13 Michael Pruett * test/*: Use unique filenames for temporary files in tests. Thanks to Giovanni Mascellani for pointing out this problem. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687405 2012-09-12 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/AVR.cpp, libaudiofile/AudioFormat.cpp, libaudiofile/AudioFormat.h, libaudiofile/CAF.cpp, libaudiofile/CAF.h, libaudiofile/IFF.cpp, libaudiofile/IRCAM.cpp, libaudiofile/NIST.cpp, libaudiofile/NeXT.cpp, libaudiofile/SampleVision.cpp, libaudiofile/Track.cpp, libaudiofile/Track.h, libaudiofile/VOC.cpp, libaudiofile/WAVE.cpp: Refactor calculation of frame count from audio data size. 2012-09-06 Michael Pruett * libaudiofile/Makefile.am, libaudiofile/modules/Makefile.am: Reorganize build. 2012-09-06 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/AIFF.h, libaudiofile/CAF.cpp, libaudiofile/SampleVision.cpp, libaudiofile/VOC.cpp, libaudiofile/WAVE.cpp, libaudiofile/WAVE.h, libaudiofile/util.cpp, libaudiofile/util.h, test/Makefile.am, test/Marker.cpp: Refactor marker writing. Record marker comments in WAVE files. 2012-07-31 Michael Pruett * libaudiofile/Setup.cpp: Fix array overrun in afInitFileFormat(). 2012-07-31 Michael Pruett * libaudiofile/query.cpp, test/Makefile.am, test/Query.cpp: Fix handling of queries for unimplemented compression formats. 2012-07-31 Michael Pruett * libaudiofile/AudioFormat.cpp, libaudiofile/compression.cpp, libaudiofile/compression.h, libaudiofile/debug.cpp, libaudiofile/modules/ModuleState.cpp, libaudiofile/query.cpp, libaudiofile/util.cpp: Refactor accessing compression units by compression type. 2012-07-31 Michael Pruett * libaudiofile/compression.cpp, libaudiofile/format.cpp, libaudiofile/modules/ModuleState.cpp, libaudiofile/openclose.cpp, libaudiofile/query.cpp, libaudiofile/units.cpp, libaudiofile/units.h: Remove leading underscores from _Unit and _CompressionUnit types. 2012-07-31 Michael Pruett * libaudiofile/modules/ModuleState.cpp: Improve error handling in ModuleState::arrange(). 2012-07-26 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/NeXT.cpp, libaudiofile/Setup.cpp, libaudiofile/WAVE.cpp, libaudiofile/format.cpp, libaudiofile/modules/G711.cpp, libaudiofile/modules/IMA.cpp, libaudiofile/modules/PCM.cpp: Remove unnecessary debugging print statements. 2012-07-21 Michael Pruett * libaudiofile/modules/RebufferModule.cpp, libaudiofile/modules/UT_RebufferModule.cpp: Fix error in rebuffer module when buffering after pulling a short chunk. 2012-07-14 Michael Pruett * libaudiofile/SampleVision.cpp, libaudiofile/compression.cpp: Report an error when initializing a file with an invalid compression format. 2012-07-14 Michael Pruett * test/InvalidCompressionFormat.cpp, test/Makefile.am: Add test for creating audio files with invalid compression formats. 2012-07-14 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/AIFF.h: Refactor discrimination between AIFF and AIFF-C. 2012-07-14 Michael Pruett * Prefix member variables with 'm_'. 2012-07-14 Michael Pruett * Mark default file setup structures as constant. 2012-07-14 Michael Pruett * Refactor file handle initialization. 2012-07-05 Michael Pruett * docs/sfconvert.1.txt, sfcommands/sfconvert.c: Add support for compression to sfconvert. 2012-07-05 Michael Pruett * docs/afInitCompression.3.txt, libaudiofile/WAVE.cpp, libaudiofile/WAVE.h, libaudiofile/modules/MSADPCM.cpp, libaudiofile/modules/MSADPCM.h, libaudiofile/units.cpp, test/ADPCM.cpp: Implement Microsoft ADPCM encoding for WAVE files. 2012-07-05 Michael Pruett * docs/afInitCompression.3.txt, libaudiofile/AIFF.cpp, libaudiofile/AIFF.h, libaudiofile/CAF.cpp, libaudiofile/CAF.h, libaudiofile/WAVE.cpp, libaudiofile/WAVE.h, libaudiofile/afinternal.h, libaudiofile/modules/IMA.cpp, libaudiofile/modules/IMA.h, libaudiofile/modules/Makefile.am, libaudiofile/units.cpp, test/ADPCM.cpp, test/Makefile.am: Implement IMA ADPCM encoding and decoding for AIFF-C, CAF, and WAVE files. 2012-07-05 Michael Pruett * libaudiofile/AudioFormat.h, libaudiofile/WAVE.cpp, libaudiofile/afinternal.h, libaudiofile/modules/IMA.cpp, libaudiofile/modules/MSADPCM.cpp: Add framesPerPacket and bytesPerPacket fields to AudioFormat. 2012-07-05 Michael Pruett * libaudiofile/data.cpp, libaudiofile/modules/Module.h: Fix mismatched deallocation of temporary buffer in afReadFrames. 2012-07-01 Michael Pruett * sfcommands/sfconvert.c: Improve error handling in sfconvert. 2012-07-01 Michael Pruett * sfcommands/Makefile.am, sfcommands/sfconvert.c: Clean up sfconvert. 2012-07-01 Michael Pruett * libaudiofile/modules/FileModule.cpp, libaudiofile/modules/FileModule.h, libaudiofile/modules/G711.cpp, libaudiofile/modules/IMA.cpp, libaudiofile/modules/MSADPCM.cpp, libaudiofile/modules/PCM.cpp: Refactor error reporting in file modules. 2012-06-21 Michael Pruett * libaudiofile/SampleVision.cpp: Fix comparisons between signed and unsigned integers. 2012-06-21 Michael Pruett * libaudiofile/AIFF.cpp, libaudiofile/IFF.cpp, libaudiofile/WAVE.cpp, libaudiofile/modules/MSADPCM.cpp: Remove unused variables. 2012-06-21 Michael Pruett * libaudiofile/AVR.cpp, libaudiofile/Marker.cpp, libaudiofile/NIST.cpp, libaudiofile/NeXT.cpp, libaudiofile/Setup.cpp, libaudiofile/error.h, libaudiofile/modules/G711.cpp, libaudiofile/modules/IMA.cpp, libaudiofile/modules/MSADPCM.cpp, libaudiofile/modules/PCM.cpp: Fix conversion specifications in error messages. 2012-06-21 Michael Pruett * libaudiofile/modules/ModuleState.cpp, libaudiofile/modules/RebufferModule.cpp, libaudiofile/modules/RebufferModule.h libaudiofile/modules/UT_RebufferModule.cpp: Refactor rebuffer module. 2012-05-20 Michael Pruett * libaudiofile/modules/RebufferModule.cpp: Fix error in rebuffering when pulling multiple blocks at once. 2012-05-20 Michael Pruett * libaudiofile/Makefile.am, libaudiofile/modules/UT_RebufferModule.cpp: Add unit test for rebuffer module. 2012-05-20 Michael Pruett * Move Google Test framework to top of source tree. 2012-05-20 Michael Pruett * Reorganize code coverage build configuration. 2012-05-10 Michael Pruett * docs/*: Update documentation. 2012-05-06 Michael Pruett * docs/sfconvert.1.txt, sfcommands/sfconvert.c: Add support for Sample Vision to sfconvert. 2012-05-06 Michael Pruett * Update documentation to include support for Sample Vision. 2012-05-06 Michael Pruett * libaudiofile/VOC.cpp: Report an error when initializing a VOC file with an invalid sample format. 2012-05-06 Michael Pruett * test/Makefile.am, test/InvalidSampleFormat.cpp: Add test for creating audio files with invalid sample formats. 2012-05-06 Michael Pruett * Reorganize tests.