Released 2023-09-25.
Compatibility:
Changes:
mem::MaybeUninit. The unsoundness was present in all versions since 0.2.0. There is no evidence that rustc took advantage of the unsoundness to compile programs in a problematic way.Thanks to Cam Lloyd for originally contributing these changes, and thanks to Maxwell McKinnon for rebasing them on top of 3.5.0.
Released 2022-09-09.
This is a maintenance release that includes most of the bugfixes and features that have been contributed since 3.4.0, which could be cherry-picked on top of 3.4.0. Some other contributions with more far-reaching changes remain unreleased as of yet.
Compatibility:
New features:
S24_LE files, which store 24 bits in 4 bytes (#40, #41)WavWriter::new_with_spec_ex (#42)WavSpec::into_header_for_infinite_file (#33, #36)Bugfixes and compatibility improvements:
wValidBitsPerSample field set to zero (#50, #51)Many thanks to Diffuse, Fletcher Woodruff, Matt Wilkinson, Vitaly Vi Shukela, and Tuckerrrrrrrrrr for contributing to this release.
Released 2018-04-07.
Breaking changes:
Release highlights:
read_wave_header(), to quickly determine whether a file could be a wav file.WavWriter::append() for constructing a writer that appends to a file, and WavWriter::new_append() for the generic case.WavWriter::flush() to flush the underlying writer and update the header. This can be used to minimize data loss when writing a large file.WavWriter::duration(), WavWriter::len(), and WavWriter::spec() to obtain the duration and number of samples written so far, and the spec of the file being written. The latter is useful when appending.WavWriter::new() will already return Error::Unsupported. Previously this error was returned when writing a sample.WavWriter::finalize() now performs a flush as its last operation, to be able to observe errors when using a buffered writer.Released 2018-02-18.
Breaking changes:
Release highlights:
Released 2017-12-02.
Breaking changes:
Release highlights:
WavReader::seek().Many thanks to Mitchell Nordine for contributing to this release.
Released 2017-10-14.
Breaking changes:
Release highlights:
Many thanks to Denis Kolodin for contributing to this release.
Released 2017-04-09.
Breaking changes:
Release highlights:
Many thanks to Alex Zywicki for contributing to this release.
Released 2017-04-01.
This release fixes a few bugs discovered through fuzzing.
Breaking changes:
Release highlights:
Released 2016-11-27.
This release focuses on improving write performance.
Breaking changes:
WavWriter is constructed, the header is now written immediately, therefore the constructor now returns a Result.Other changes:
WavWriter no longer maintains a buffer internally. WavWriter::create() does still wrap the file it opens in a buffered writer.SampleWriter16 for fast writing of 16-bit samples. Dedicated writers for other bit depths might be added in future releases.Upgrading requires dealing with the Result in WavWriter::new() and WavWriter::create(). In many cases this should be as simple as wrapping the call in a try!(), or appending a ? on recent versions of Rust.
Released 2016-07-31.
Breaking changes:
WavSpec struct gained a new sample_format member. To upgrade, add sample_format: hound::SampleFormat::Int to places where a WavSpec is constructed.Release highlights:
Many thanks to Mitchell Nordine for his contributions to this release.
Released 2015-09-14.
Release highlights:
WavReader::into_inner method for consistency with the standard library.WavReader::into_samples method for ergonomics and consistency.Many thanks to Pierre Krieger for his contributions to this release.
Released 2015-07-21.
This is the first stable release of Hound. Only small changes have been made with respect to v0.4.0. Release highlights:
WavWriter::create now wraps the writer in a BufWriter.WavSamples now implements ExactSizeIterator.WavReader::spec now returns the spec by value.Released 2015-05-16.
Release highlights:
Released 2015-05-05.
Release highlights:
WavReader and WavWriter.Released 2015-04-09.
This version adds support for decoding wav files in addition to writing them.
Released 2015-04-01.
Initial release with only write support.