#audio #stream #recording

sys rsoundio

libsoundio bindings for Rust

6 releases

Uses old Rust 2015

0.1.6 May 3, 2016
0.1.5 Apr 2, 2016
0.1.4 Mar 24, 2016
0.1.2 Feb 28, 2016

#236 in Audio

Download history 6/week @ 2022-01-20 12/week @ 2022-01-27 4/week @ 2022-02-03 3/week @ 2022-02-10 10/week @ 2022-02-17 5/week @ 2022-02-24 4/week @ 2022-03-03 5/week @ 2022-03-10 38/week @ 2022-03-17 3/week @ 2022-03-24 6/week @ 2022-03-31 6/week @ 2022-04-07 6/week @ 2022-04-14 4/week @ 2022-04-21 53/week @ 2022-04-28 40/week @ 2022-05-05

103 downloads per month
Used in scaleless_music

MIT/Apache

98KB
1K SLoC

A Rusty Wrapper for libsoundio

Circle CI Crates.io rustdoc license

Rsoundio is a wrapper for libsoundio, a cross-platform realtime audio in- and output library.

The following backends are supported:

  • JACK
  • PulseAudio
  • ALSA
  • CoreAudio
  • WASAPI

For a comparison of libsoundio with other audio libaries, take a look at the 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. Most of the input stream implementation can be copied from the output stream though.

Usage

Add it to the dependencies section of your projects Cargo.toml

[dependencies]
rsoundio = "0.1.*"

Example

cargo run --example sine

TODOs

  • add documentation
  • implement InStream
  • implement remaining callback registrations for SoundIo struct
  • let write_stream_FMT accept an iterator instead of a Vec<Vec<FMT>>
  • make rsoundio::ffi private and only export the enums
  • publish on crates.io
  • write examples

License

Licensed under either of

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.

Dependencies