Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/klingtnet/rsoundio
Rust binding for libsound.io
https://github.com/klingtnet/rsoundio
audio libsoundio rust stream
Last synced: about 1 month ago
JSON representation
Rust binding for libsound.io
- Host: GitHub
- URL: https://github.com/klingtnet/rsoundio
- Owner: klingtnet
- License: apache-2.0
- Created: 2016-02-21T14:34:57.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-12-13T10:47:04.000Z (over 3 years ago)
- Last Synced: 2024-07-17T19:14:29.855Z (about 2 months ago)
- Topics: audio, libsoundio, rust, stream
- Language: Rust
- Size: 168 KB
- Stars: 48
- Watchers: 4
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE_APACHE_20
Awesome Lists containing this project
README
# A Rusty Wrapper for [libsoundio](http://libsound.io)
**Please consider this library abandonware.**
I will keep reviewing merge requests but I won't fix any bugs or add features myself, this is due to lack of time and also because I lost my interest in Rust.
---
[![Circle CI](https://circleci.com/gh/klingtnet/rsoundio.svg?style=svg)](https://circleci.com/gh/klingtnet/rsoundio)
[![Crates.io](https://img.shields.io/crates/v/rustc-serialize.svg)](https://crates.io/crates/rsoundio)
[![rustdoc](https://img.shields.io/badge/rustdoc-hosted-blue.svg)](https://docs.klingt.net/rustdoc/rsoundio)
![license](https://img.shields.io/badge/license-MIT%2FApache%202.0-blue.svg)
[![dependency status](https://deps.rs/repo/github/klingtnet/rsoundio/status.svg)](https://deps.rs/repo/github/klingtnet/rsoundio)Rsoundio is a wrapper for [libsoundio](https://github.com/andrewrk/libsoundio), a cross-platform realtime audio in- and output library.
The following backends are supported:
- JACK
- PulseAudio
- ALSA
- CoreAudio
- WASAPIFor a comparison of libsoundio with other audio libaries, take a look at the [wiki](https://github.com/andrewrk/libsoundio/wiki).
---
This is a *work in progress* and there are still some things that don't work, especially recording via input streams is not supported yet (see [TODOs](#todos).
Most of the input stream implementation can be copied from the output stream though.- [documentation](https://docs.klingt.net/rustdoc/rsoundio/)
## Usage
Add it to the `dependencies` section of your projects `Cargo.toml`
```toml
[dependencies]
rsoundio = "0.1.*"
```## Example
`cargo run --example sine`
## TODOs
- [x] add documentation
- [ ] implement `InStream`
- [ ] implement remaining callback registrations for `SoundIo` struct
- [ ] let `write_stream_FMT` accept an iterator instead of a `Vec>`
- [x] make `rsoundio::ffi` private and only export the enums
- [x] publish on crates.io
- [x] write examples## License
Licensed under either of
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.