- Fix resuming a paused stream on Windows (wasapi).
- Implement
default_output_formatfor emscripten backend.
- Fix the handling of non-default sample rates for coreaudio input streams.
- 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.
- 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.
- 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).
- Added
Sample::to_i16(),Sample::to_u16()andSample::from.
- 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.