2017-10-21 07:25:24 +00:00
|
|
|
# Unreleased
|
|
|
|
|
2020-02-04 16:16:41 +00:00
|
|
|
- Large refactor removing the blocking EventLoop API.
|
|
|
|
- Rename many `Format` types to `StreamConfig`:
|
|
|
|
- `Format` type's `data_type` field renamed to `sample_format`.
|
|
|
|
- `Shape` -> `StreamConfig` - The configuration input required to build a stream.
|
|
|
|
- `Format` -> `SupportedStreamConfig` - Describes a single supported stream configuration.
|
|
|
|
- `SupportedFormat` -> `SupportedStreamConfigRange` - Describes a range of supported configurations.
|
|
|
|
- `Device::default_input/output_format` -> `Device::default_input/output_config`.
|
|
|
|
- `Device::supported_input/output_formats` -> `Device::supported_input/output_configs`.
|
|
|
|
- `Device::SupportedInput/OutputFormats` -> `Device::SupportedInput/OutputConfigs`.
|
|
|
|
- `SupportedFormatsError` -> `SupportedStreamConfigsError`
|
|
|
|
- `DefaultFormatError` -> `DefaultStreamConfigError`
|
|
|
|
- `BuildStreamError::FormatNotSupported` -> `BuildStreamError::StreamConfigNotSupported`
|
|
|
|
- Address deprecated use of `mem::uninitialized` in WASAPI.
|
|
|
|
- Removed `UnknownTypeBuffer` in favour of specifying sample type.
|
|
|
|
- Added `build_input/output_stream_raw` methods allowing for dynamically
|
|
|
|
handling sample format type.
|
|
|
|
- Added support for DragonFly platform.
|
|
|
|
|
2019-12-11 12:28:44 +00:00
|
|
|
# Version 0.11.0 (2019-12-11)
|
|
|
|
|
|
|
|
- Fix some underruns that could occur in ALSA.
|
|
|
|
- Add name to `HostId`.
|
|
|
|
- Use `snd_pcm_hw_params_set_buffer_time_near` rather than `set_buffer_time_max`
|
|
|
|
in ALSA backend.
|
|
|
|
- Remove many uses of `std::mem::uninitialized`.
|
|
|
|
- Fix WASAPI capture logic.
|
|
|
|
- Panic on stream ID overflow rather than returning an error.
|
|
|
|
- Use `ringbuffer` crate in feedback example.
|
|
|
|
- Move errors into a separate module.
|
|
|
|
- Switch from `failure` to `thiserror` for error handling.
|
|
|
|
- Add `winbase` winapi feature to solve windows compile error issues.
|
|
|
|
- Lots of CI improvements.
|
|
|
|
|
2019-07-05 17:29:47 +00:00
|
|
|
# Version 0.10.0 (2019-07-05)
|
|
|
|
|
|
|
|
- core-foundation-sys and coreaudio-rs version bumps.
|
|
|
|
- Add an ASIO host, available under Windows.
|
|
|
|
- Introduce a new Host API, adding support for alternative audio APIs.
|
|
|
|
- Remove sleep loop on macOS in favour of using a `Condvar`.
|
|
|
|
- Allow users to handle stream callback errors with a new `StreamEvent` type.
|
|
|
|
- Overhaul error handling throughout the crate.
|
|
|
|
- Remove unnecessary Mutex from ALSA and WASAPI backends in favour of channels.
|
|
|
|
- Remove `panic!` from OutputBuffer Deref impl as it is no longer necessary.
|
|
|
|
|
2019-06-06 15:29:52 +00:00
|
|
|
# Version 0.9.0 (2019-06-06)
|
2019-06-06 05:49:49 +00:00
|
|
|
|
2019-06-06 15:29:52 +00:00
|
|
|
- Better buffer handling
|
|
|
|
- Fix logic error in frame/sample size
|
|
|
|
- Added error handling for unknown ALSA device errors
|
2018-07-10 14:43:52 +00:00
|
|
|
- Fix resuming a paused stream on Windows (wasapi).
|
2018-07-10 13:04:00 +00:00
|
|
|
- Implement `default_output_format` for emscripten backend.
|
|
|
|
|
2018-04-01 11:25:46 +00:00
|
|
|
# Version 0.8.1 (2018-03-18)
|
|
|
|
|
|
|
|
- Fix the handling of non-default sample rates for coreaudio input streams.
|
|
|
|
|
2018-02-15 07:47:43 +00:00
|
|
|
# Version 0.8.0 (2018-02-15)
|
|
|
|
|
2018-02-12 13:10:24 +00:00
|
|
|
- Add `record_wav.rs` example. Records 3 seconds to
|
|
|
|
`$CARGO_MANIFEST_DIR/recorded.wav` using default input device.
|
|
|
|
- Update `enumerate.rs` example to display default input/output devices and
|
|
|
|
formats.
|
|
|
|
- Add input stream support to coreaudio, alsa and windows backends.
|
|
|
|
- Introduce `StreamData` type for handling either input or output streams in
|
|
|
|
`EventLoop::run` callback.
|
|
|
|
- Add `Device::supported_{input/output}_formats` methods.
|
|
|
|
- Add `Device::default_{input/output}_format` methods.
|
|
|
|
- Add `default_{input/output}_device` functions.
|
|
|
|
- Replace usage of `Voice` with `Stream` throughout the crate.
|
|
|
|
- Remove `Endpoint` in favour of `Device` for supporting both input and output
|
|
|
|
streams.
|
|
|
|
|
2018-02-04 12:03:03 +00:00
|
|
|
# Version 0.7.0 (2018-02-04)
|
|
|
|
|
2018-04-18 13:18:10 +00:00
|
|
|
- Rename `ChannelsCount` to `ChannelCount`.
|
|
|
|
- Rename `SamplesRate` to `SampleRate`.
|
|
|
|
- Rename the `min_samples_rate` field of `SupportedFormat` to `min_sample_rate`
|
|
|
|
- Rename the `with_max_samples_rate()` method of`SupportedFormat` to `with_max_sample_rate()`
|
|
|
|
- Rename the `samples_rate` field of `Format` to `sample_rate`
|
|
|
|
- Changed the type of the `channels` field of the `SupportedFormat` struct from `Vec<ChannelPosition>` to `ChannelCount` (an alias to `u16`)
|
2018-02-04 09:38:06 +00:00
|
|
|
- Remove unused ChannelPosition API.
|
2018-04-18 13:18:10 +00:00
|
|
|
- Implement `Endpoint` and `Format` Enumeration for macos.
|
2018-01-24 10:34:18 +00:00
|
|
|
- Implement format handling for macos `build_voice` method.
|
|
|
|
|
2017-12-11 08:31:22 +00:00
|
|
|
# Version 0.6.0 (2017-12-11)
|
|
|
|
|
2017-10-22 12:17:25 +00:00
|
|
|
- Changed the emscripten backend to consume less CPU.
|
2017-10-23 14:41:38 +00:00
|
|
|
- Added improvements to the crate documentation.
|
2017-11-02 09:30:15 +00:00
|
|
|
- Implement `pause` and `play` for ALSA backend.
|
2017-11-03 09:51:02 +00:00
|
|
|
- Reduced the number of allocations in the CoreAudio backend.
|
2017-12-11 08:31:22 +00:00
|
|
|
- Fixes for macos build (#186, #189).
|
2017-10-22 12:17:25 +00:00
|
|
|
|
2017-10-21 07:45:02 +00:00
|
|
|
# Version 0.5.1 (2017-10-21)
|
|
|
|
|
|
|
|
- Added `Sample::to_i16()`, `Sample::to_u16()` and `Sample::from`.
|
|
|
|
|
2017-10-21 07:25:24 +00:00
|
|
|
# Version 0.5.0 (2017-10-21)
|
2017-10-18 18:24:05 +00:00
|
|
|
|
|
|
|
- Removed the dependency on the `futures` library.
|
|
|
|
- Removed the `Voice` and `SamplesStream` types.
|
|
|
|
- Added `EventLoop::build_voice`, `EventLoop::destroy_voice`, `EventLoop::play`,
|
|
|
|
and `EventLoop::pause` that can be used to create, destroy, play and pause voices.
|
|
|
|
- Added a `VoiceId` struct that is now used to identify a voice owned by an `EventLoop`.
|
|
|
|
- Changed `EventLoop::run()` to take a callback that is called whenever a voice requires sound data.
|
2017-10-20 19:18:40 +00:00
|
|
|
- Changed `supported_formats()` to produce a list of `SupportedFormat` instead of `Format`. A
|
|
|
|
`SupportedFormat` must then be turned into a `Format` in order to build a voice.
|