46 releases
0.13.0 | Sep 14, 2024 |
---|---|
0.11.4 | Feb 7, 2023 |
0.11.3 | Nov 28, 2022 |
0.10.0 | Apr 10, 2022 |
0.1.2 | Oct 26, 2016 |
#28 in Audio
28,233 downloads per month
Used in 112 crates
(20 directly)
265KB
5.5K
SLoC
JACK (for Rust)
Rust bindings for JACK Audio Connection Kit.
📚 Documentation | ❤️ Sponsor |
Using JACK
The JACK server is usually started by the user or system. Clients can request
that the JACK server is started on demand when they connect, but this can be
disabled by creating a client with the NO_START_SERVER
option or
ClientOptions::default()
.
- Linux and BSD users may install JACK1, JACK2 (preferred for low latency), or Pipewire JACK (preferred for ease of use) from their system package manager.
- Windows users may install JACK from the official website or Chocolatey.
- MacOS users may install JACK from the official website or Homebrew.
Refer to the docs.rs documentation for details about the API. For more general documentation, visit https://rustaudio.github.io/rust-jack.
Testing
Testing requires setting up a dummy server and running the tests using a single
thread. rust-jack
automatically configures cargo nextest
to use a single
thread.
# Set up a dummy server for tests. The script is included in this repository.
./dummy_jack_server.sh &
# Run tests
cargo nextest run
Note: If cargo nextest is not available, use RUST_TEST_THREADS=1 cargo test
to
run in single threaded mode.
Possible Issues
If the tests are failing, a possible gotcha may be timing issues.
- If using
cargo test
, trycargo nextest
. Thecargo nextest
configuration is set up to run single threaded and to retry flaky tests up to 3 times. - Increase the value used by
sleep_on_test
inclient/common.rs
.
Another case is that libjack may be broken on your setup. Try using libjack2 or pipewire-jack.
Dependencies
~220–510KB