Crates.io | dynwave |
lib.rs | dynwave |
version | |
source | src |
created_at | 2024-01-29 12:40:29.561711 |
updated_at | 2024-10-29 07:31:39.433441 |
description | Dynamic audio player based on fixed samples stream |
homepage | |
repository | https://github.com/Amjad50/dynwave |
max_upload_size | |
id | 1118847 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
dynwave is a dynamic audio player based on fixed samples stream, written in Rust.
The purpose of this is to implement a cross platform audio player that plays audio samples stream generated and plays it real-time.
This works as a fusion between rubato and cpal.
This is useful for emulators for example, where an emulation loop will be like this:
dynwave
).You can use dynwave
to play audio streams for your Rust projects.
Add it as a dependency in your Cargo.toml
file:
cargo add dynwave
use dynwave::{AudioPlayer, BufferSize};
let mut player = AudioPlayer::<f32>::new(44100, BufferSize::OneSecond).unwrap();
// Start playing the audio
player.play().unwrap();
// generate audio samples (can be done in a emulation loop for example)
let samples = generate_samples();
player.queue(&samples);
// pause the audio
player.pause().unwrap();
The minimum supported Rust version for this crate is 1.70.0
.
Contributions are welcome, please open an issue or a PR if you have any suggestions or ideas.
Make sure to:
cargo fmt
.cargo clippy
.cargo test
.dynwave
If you are using
dynwave
in your project, please open a PR to add it here.
Project | Description |
---|---|
mizu | A GameBoy emulator written in Rust (this is actually were this library originiated https://github.com/Amjad50/mizu/issues/11) |
trapezoid | PSX emulator powered with Vulkan and Rust |
plastic | NES emulator with TUI and GUI |
This project is licensed under the MIT License - see the LICENSE file for details