| Crates.io | rust-jack |
| lib.rs | rust-jack |
| version | 0.1.0 |
| created_at | 2016-10-09 01:38:13.721156+00 |
| updated_at | 2016-10-09 01:38:13.721156+00 |
| description | Safe jack bindings for rust. |
| homepage | |
| repository | https://github.com/wmedrano/rust-jack |
| max_upload_size | |
| id | 6792 |
| size | 56,982 |
Nice Rust bindings for JACK Audio Connection Kit
libjack is required. Consult your package manager or the official website.
The general workflow for a jack application is to start up a jack daemon and connect the client to it. qjackctl is a convinient way to configure and bring up a jack server through a GUI.
Testing is a little awkward to setup since it relies on a Jack server.
Testing expects there to be an available Jack server running at a sample rate of 44.1kHz and a buffer size of 1024 samples.
$ jackd -r -ddummy -r44100 -p1024 & # Start the dummy jack server
If the tests are failing, a possible gotcha may be timing issues.
RUST_TEST_THREADS to 1.DEFAULT_SLEEP_TIME in test.rs.Another case can be that libjack is broke. Try switching between libjack and libjack2 (they have the same API and libjack2 isn't necessarily newer than libjack), or using a different version.
$ cargo test
String lengths in the "C" API include the NULL character while these Rust
bindings do not. generally rust_size(x) = c_size(x) - 1.
"C" bindings require functions to be registered while Rust bindings register an object with a trait.
jack_on_shutdown has been removed, uses only jack_on_info_shutdown.
Rust enums vs C enums
Rust bitflags vs C integers used as flags
deprecated Jack functions are not used/implemented in Rust bindings
Sections based on the main page sections on the Jack API.