7.7 KiB
7.7 KiB
Unreleased
Version 0.15.3 (2024-03-04)
- Add
try_with_sample_rate, a non-panicking variant ofwith_sample_rate. - struct
platform::Streamis now #[must_use]. - enum
SupportedBufferSizeand structSupportedStreamConfigRangeare nowCopy. platform::Deviceis nowClone.- Remove
parking_lotdependency in favor of the std library. - Fix crash on web/wasm when
atomicsflag is enabled. - Improve Examples: Migrate wasm example to
trunk, Improve syth-thones example. - Improve CI: Update actions, Use Android 30 API level in CI, Remove
asmjs-unknown-emscriptentarget. - Update
windowsdependency to v0.54 - Update
jnidependency to 0.21 - Update
alsadependency to 0.9 - Update
oboedependency to 0.6 - Update
ndkdependency to 0.8 and disabledefault-features. - Update
wasm-bindgento 0.2.89
Version 0.15.2 (2023-03-30)
- webaudio: support multichannel output streams
- Update
windowsdependency - wasapi: fix some thread panics
Version 0.15.1 (2023-03-14)
- Add feature
oboe-shared-stdcxxto enableshared-stdcxxonoboefor Android support - Remove
thiserrordependency - Swith
machdependency tomach2
Version 0.15.0 (2023-01-29)
- Update
windows-rs,jack,coreaudio-sys,oboe,alsadependencies - Switch to the
dasp_samplecrate for the sample trait - Switch to
web-syson the emscripten target - Adopt edition 2021
- Add disconnection detection on Mac OS
Version 0.14.1 (2022-10-23)
- Support the 0.6.1 release of
alsa-rs - Fix
asiofeature broken in 0.14.0 NetBSDsupport- CI improvements
Version 0.14.0 (2022-08-22)
- Switch to
windows-rscrate - Turn
ndk-glueinto a dev-dependency and usendk-contextinstead - Update dependencies (ndk, ndk-glue, parking_lot, once_cell, jack)
Version 0.13.5 (2022-01-28)
- Faster sample format conversion
- Update dependencies (ndk, oboe, ndk-glue, jack, alsa, nix)
Version 0.13.4 (2021-08-08)
- wasapi: Allow both threading models and switch the default to STA
- Update dependencies (core-foundation-sys, jni, rust-jack)
- Alsa: improve stream setup parameters
Version 0.13.3 (2021-03-29)
- Give each thread a unique name
- Fix distortion regression on some alsa configs
Version 0.13.2 (2021-03-16)
- Update dependencies (ndk, nix, oboe, jni, etc)
Version 0.13.1 (2020-11-08)
- Don't panic when device is plugged out on Windows
- Update
parking_lotdependency
Version 0.13.0 (2020-10-28)
- Add Android support via
oboe-rs. - Add Android APK build an CI job.
Version 0.12.1 (2020-07-23)
- Bugfix release to get the asio feature working again.
Version 0.12.0 (2020-07-09)
- Large refactor removing the blocking EventLoop API.
- Rename many
Formattypes toStreamConfig:Formattype'sdata_typefield renamed tosample_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->SupportedStreamConfigsErrorDefaultFormatError->DefaultStreamConfigErrorBuildStreamError::FormatNotSupported->BuildStreamError::StreamConfigNotSupported
- Address deprecated use of
mem::uninitializedin WASAPI. - Removed
UnknownTypeBufferin favour of specifying sample type. - Added
build_input/output_stream_rawmethods allowing for dynamically handling sample format type. - Added support for DragonFly platform.
- Add
InputCallbackInfoandOutputCallbackInfotypes and update expected user data callback function signature to provide these.
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_nearrather thanset_buffer_time_maxin ALSA backend. - Remove many uses of
std::mem::uninitialized. - Fix WASAPI capture logic.
- Panic on stream ID overflow rather than returning an error.
- Use
ringbuffercrate in feedback example. - Move errors into a separate module.
- Switch from
failuretothiserrorfor error handling. - Add
winbasewinapi feature to solve windows compile error issues. - Lots of CI improvements.
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
StreamEventtype. - 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.
Version 0.9.0 (2019-06-06)
- Better buffer handling
- Fix logic error in frame/sample size
- Added error handling for unknown ALSA device errors
- Fix resuming a paused stream on Windows (wasapi).
- Implement
default_output_formatfor emscripten backend.
Version 0.8.1 (2018-03-18)
- Fix the handling of non-default sample rates for coreaudio input streams.
Version 0.8.0 (2018-02-15)
- Add
record_wav.rsexample. Records 3 seconds to$CARGO_MANIFEST_DIR/recorded.wavusing default input device. - Update
enumerate.rsexample to display default input/output devices and formats. - Add input stream support to coreaudio, alsa and windows backends.
- Introduce
StreamDatatype for handling either input or output streams inEventLoop::runcallback. - Add
Device::supported_{input/output}_formatsmethods. - Add
Device::default_{input/output}_formatmethods. - Add
default_{input/output}_devicefunctions. - Replace usage of
VoicewithStreamthroughout the crate. - Remove
Endpointin favour ofDevicefor supporting both input and output streams.
Version 0.7.0 (2018-02-04)
- Rename
ChannelsCounttoChannelCount. - Rename
SamplesRatetoSampleRate. - Rename the
min_samples_ratefield ofSupportedFormattomin_sample_rate - Rename the
with_max_samples_rate()method ofSupportedFormattowith_max_sample_rate() - Rename the
samples_ratefield ofFormattosample_rate - Changed the type of the
channelsfield of theSupportedFormatstruct fromVec<ChannelPosition>toChannelCount(an alias tou16) - Remove unused ChannelPosition API.
- Implement
EndpointandFormatEnumeration for macOS. - Implement format handling for macos
build_voicemethod.
Version 0.6.0 (2017-12-11)
- Changed the emscripten backend to consume less CPU.
- Added improvements to the crate documentation.
- Implement
pauseandplayfor ALSA backend. - Reduced the number of allocations in the CoreAudio backend.
- Fixes for macOS build (#186, #189).
Version 0.5.1 (2017-10-21)
- Added
Sample::to_i16(),Sample::to_u16()andSample::from.
Version 0.5.0 (2017-10-21)
- Removed the dependency on the
futureslibrary. - Removed the
VoiceandSamplesStreamtypes. - Added
EventLoop::build_voice,EventLoop::destroy_voice,EventLoop::play, andEventLoop::pausethat can be used to create, destroy, play and pause voices. - Added a
VoiceIdstruct that is now used to identify a voice owned by anEventLoop. - Changed
EventLoop::run()to take a callback that is called whenever a voice requires sound data. - Changed
supported_formats()to produce a list ofSupportedFormatinstead ofFormat. ASupportedFormatmust then be turned into aFormatin order to build a voice.